21届(华为od)-Java开发面经
背景
在八月初准备面试华为od,一开始联系到栗栗姐,她给我发了一些机考的资料和攻略,刷了一段时间的题,然后正式开始走流程。
一、机考(320分)
第一题:停车场车辆统计。特定大小的停车场,数组cars[]表示,其中1表示有车,0表示没车。
第二题:字符串序列判断。输入两个字符串S和L,都只包含英文小写字母。S长度<=100,L长度<=500000。判定S是否是L的有效子串。
第三题:中文分词模拟器。给定一个连续不包含空格字符的字符串,该字符串不仅包含英文小写字母及英文标点符号,同时给定词库,对该字符串进行分词。
二、综测
综测按照攻略和注意事项就好了,然后是准备面试和简历
三、hr资审
1.自我介绍。
2.最近的项目介绍。
3.项目中的难点。
4.项目中的某个问题是如何实现的。
5.离职的原因。
6.为什么选择od。
7.工作中遇到的问题
8.期望薪资。
四、技术一面
1.自我介绍。
2.项目介绍。
3.项目中的难点。
4.父类和子类中类的加载顺序。
5.Try,catch相关的知识点
6.容灾策略
7.SpringMVC相关的介绍
8.手撕代码:实现一个简易的代码缩进功能:把一段未缩进的代码,通过多次操作,最终实现对每一行的缩进长度要求。
这次面试主要问的是一些八股文相关的问题,总体比较简单。
五、技术二面
1.自我介绍。
2.项目介绍。
3.项目中的难点。
4.使用Lamda表达式写查询一个List集合里面编号001的数据。
5.Spring项目的加载启动过程,Bean的注入有几种方式。
6.SpringAop的特点。
7.Mybatis 里面${}和#{}的区别
8.多线程的使用场景。
9.Sql语句连表查询。
10.Sql语句的优化。
11.手撕代码:字符串数组中的最长公共前缀。
因为一直用框架自动生成sql语句,导致相关问题答的很失败,最后因为定级不一致需要加面。
六、技术加面
1.手撕代码:以数组 intervals 表示若干个区间的集合,其中单个区间为 intervals[i] = [starti, endi]。请你合并所有重叠的区间,并返回 一个不重叠的区间数组,该数组需恰好覆盖输入中的所有区间 。
2.自我介绍。
3.项目介绍。
4.项目中的难点。
5.Redis数据结构及应用场景。
6.Java线程池的主要参数。
7.SpringIOC和SpringAop的理解。
8.Mysql性能优化。
9.负载均衡策略。
10.Websocket的理解。
这次面试主要问的是一些八股文相关的问题,问的比较的多,但总体比较简单。
七、主管面
1.自我介绍。
2.项目介绍。
3.项目中的难点。
4.工作中具体的细节问题,例如一个月写多少代码,平时怎么测试的。
总体非常简单,就问了十来分钟。当天晚上就收到通过的消息了。
机试准备:
主要是根据栗栗姐发的那些资料,系统的根据题的类型进行刷题,学习相关的算法。主要的难度就是相当于力扣的简单题和中等题的水平。
面试准备:
完全理清自己项目的具体技术细节,可以进行流畅的表达即可。其他的主要是背java相关的八股文,扩充自己的知识点。要找到自己的薄弱点,进行加强训练。熟悉java相关的基础知识点。
总结:
华为od的总体面试流程是比较长的,需要做好准备。面试官主要询问的问题就是你在简历中写的技术点,需要扩充好自己的知识面。最后,再次感谢栗栗姐在面试过程中给予的帮助和支持。
#25届##内推##华为od##华为##Java#
查看21道真题和解析