22届-转开发-Java开发面经-华为OD
首先感谢知心大姐姐栗子姐,在整个过程中真是把每件事情都当作自己的事情去做的,每个环节基本上都不用特别担心,按照提示来就好啦,非常有责任感和使命感!
- 个人bg:
非一本,本专业非目标院校,22届,现工作内容不太对口开发。
- 笔试:
前置准备的时候刷完了leetcode100精、150hot、部分带面试题tag的题目,开考前一天看了看栗子姐给的题面。后续运气不错,题目不难,全都过了。 (1)木板,每次可以给最短的木板加一个单位的长度,问最长多少?优先队列模拟。
(2)敏感字段加密,给字符串中用下划线分隔的对应索引的单词进行加密。之前看过好像正则能过,但是我不会,后面就是模拟做的,要注意双引号包住下划线的情况,当时错了两发。
(3)数组连续和,正整数数组,问有多少个连续区间使得他们的和大于等于X。滑动窗口加简单统计一下就好了。
- 综测:
根据栗子姐的提示,立好自己的人设,注意前后一致。
- 资面:
HR面,大致问下自己的基本情况,为什么去广东,有没有女朋友,对OD的认识,平时有没有加班,再就是核对前置的一些资料信息等等。
- 技术面:
前置准备,也是以栗子姐给的面试资料为主,后续还有不懂的就和gpt展开交流学习了。因为我的实际工作基本没有开发内容,所以就拿的一些写臭了的demo作为项目了,面试官都很好,基本上没咋问我的项目(事实上我上来自我介绍的第一句话就是我没写过实际项目..)。
- 一面
整体偏向基础。
工作内容细节(问的比较多,大概15min)?
java抽象类和接口的区别?
为什么使用分布式,有什么好处?
Kafka是干嘛的?
Spring常用注解?
讲讲你常用的设计模式?
算法题:最长匹配括号子串,左右各跑一遍取最大就行。
- 二面
比上一面难,问的更实际了。
如果想要Spring项目在启动时做些什么事情,应该怎么干?
Kafka的各个组成部分,使用的时候注意什么?
jvm的常见命令,各个命令的具体区别?了解linux吗?
了解Spring Cloud吗?
Spring的生命周期?
详细讲讲分布式锁?
如果想要某个主线程等待子线程结束后继续执行应该怎么办?
Websocket了解吗?
讲讲MySql的调优策略?
算法题:异位词分组,两个map模拟一下,内循环做一个哈希统计长度内的字符数量。
- 三面,加面
这一面比上一面多了些认知层面的问题和一些场景题。
为什么索引可以加速查询效率呢?(这个我第一时间没反应过来,直接讲了B+树的原理,但面试官不满意,结束后复盘估计想听到举例查字典的那一套讲法)
B+树和B树的区别?
讲讲AOP和IOC是干嘛的?
Redis限流是怎么做的?
Redis对比本地缓存哪个快?为什么?
动态代理和策略模式分别在哪些场景使用?举几个例子?
创建线程的方式?线程池的常用参数?为什么使用线程池?线程池的基本原理?
Spring MVC是什么?有什么用?基本原理?
Kafka是如何保证高可用的?
LRU是什么东西?
几个场景题(AOP的场景,具体忘了。另外一个是快递下单场景,如果要加对账功能应该怎么处理?)?
HTTPS的证书是怎么一回事?
(因为算法用的C,所以还问了关于C的问题)共用体是干嘛的?是不是为了方便可以全部改为结构体?
算法题:模式匹配,两个map存下对应位置,对一对每个点是否一样,查完后删除把时间提到N。
总体下来,面感很不错,面试官有指导,也会帮忙解释说的不好的地方或者没答上来的地方。二面有个小插曲,我因为开发环境放到虚拟机里面的,半天还整的有点问题,巨尴尬,不过好在最终弄好了。另外我刷题用的C++,报的Java,这个基本上每个面试官都要问一下,如实说了下自己学习路径,C++刷题确实是习惯了,最后也没说什么。
- 主管面
比较轻松的一面,问问基本情况,对OD的认识,最后反问了部门情况、新员工大概什么时候开始干活等等,主管声音听着挺年轻的。
- Offer
最后定薪到期望值,很感激栗子大姐姐捏,期间真的帮助了我很多也解答了很多问题,有什么想说的话可以随时沟通,跟朋友一样。推荐大家找栗子姐哦~
#华为OD招聘##华为OD题库##华为OD面经分享##华为OD#