华为OD面经-软开工程师
背景
外企德科的软开岗位,Base西安。
一、机试(3月29号)
三道编程题,难度偏向于中等吧,没遇到力扣原题,不过可以刷一刷牛客网上的《华为机试》题单,差不多是那个风格。第一题和第二题各100分,第三题200分,分数是可以按照部分给分的,所以想不出来,就试试写个思路 + 大致的框架。
题目1. 我的解题思路,动态规划(只通过 66%) 题目描述(大致):给定一个数组找中心位置。中心位置的定义为,其左侧所有元素的乘积 = 右侧所有元素的乘积。
题目2、3. 题目都挺长的没记住,不过最后一题要麻烦一些。
二、性格测试 / 综测(4月3号)
这个主要注意就是有的问题会以相似的形式出现,注意前后保持一致,性格测试挂了话会比较麻烦,所以不要随便填。
然后就是和HR沟通和确认业务方向,和部门,然后就安排后续面试。
三、技术一面(4月4号)
对面试官的整体印象是很和蔼,语气非常温和友善的交流,所以面试体验挺好。(面某大厂二面的时候,面试官也脸上总是笑呵呵,但反手就给我挂了😂)
整个过程大致的面试内容:
- 自我介绍后,就个人校园经历两三轮寒暄后,开始就项目经历进行提问:
包括项目架构,担任角色,问一些某某业务逻辑的实现流程是什么。- Java八股文:
String、StringBuffer、StringBuilder 的区别?
String的可变性是怎么保证的?
String类中有哪些常用的方法?
HashMap的底层结构,以及和HashTable有什么区别?
Java中线程有哪些状态?
Java线程池相关问题。
讲一下Java内存区域的结构。
数组和链表对比- MySQL
MySQL中的索引有哪些?(追加提问了聚簇索引和非聚簇索引)
索引的底层数据结构。- Linux
这部分就问了几个常见的命令,比如 chmod这种程度的。- 手撕代码
***********,因为刷过这类算法题,所以有思路,写起来比较顺畅,除了最后的小细节问题检查了有四五分钟(内心挺慌,所以先把思路讲给了面试官,面试官给提醒说思路没问题,就是有个小细节问题)
四、技术二面(4月11号)
因为二面是跨部门面试,面试官所在部门比较忙,所以中途时间推后过一次。然后可能是因为时间紧吧,上来直接开始面试(面试难度明显难了一些):
- 还是开始问项目经历,都是关于项目中用到的技术栈的提问:
项目中问什么使用到Redis和RabbitMQ?
项目中Redis和MySQL是怎么保证数据一致性的?
使用消息队列的话,是怎么解决消息丢失的问题?(没具体深入了解过,就只回答了项目中使用的RabbitMQ的Confirm机制)- 惯例Java八股文:
抽象类和接口的区别是什么?
同步异步,线程怎么创建,Java中的锁是怎么用的,都有什么区别?
ConcurrentHashMap的底层结构是什么?(只说出个大概)
讲一下JVM垃圾回收机制的主要流程是什么?
说几个常见的排序算法以及它们的时间复杂度- MySQL
索引失效的场景都有哪些?- 计算机网络
说一下TCP/IP四层模型。
HTTP和HTTPS有什么区别?HTTPS的实现流程是什么样的?- Spring 和 Spring Boot
Spring IoC 和 AOP 是什么?
常用的注解有哪些?- 手撕代码:
*************************,算法题是困难模式的,但因为看过《labuladong的算法网站》,有讲解过这道题,所以有大致的框架印象,花了些时间写出来了。
五、HR面(4月14号)
沟通个人基本信息,求职意向这类问题,介绍了一下华为OD的模式,问了一下校园经历这些问题,但没有提到薪资,我就问了一下薪资结构是什么样的,整个过程十来二十分钟。
六、主管面(4月19号)
主管挺忙的样子,然后因为是应届生,就没有进一步问相关的技术问题了,然后确定我的求职意向,就我的学历进一步明确,然后整个过程挺短的,十分多种的样子就结束了。
最后感谢各位编写面经的各位前辈!!以及耐心上心的HR姐姐!!
#华为od机考##华为OD##23届找工作求助阵地##面经#