我的负责的小哥哥写的Java面经的哦,有需要的可以随时联系哦
2020年毕业,本硕土木工程,在学校因课题原因接触过编程,工作了一段时间,后来转行学了Java,简历推到了华为OD,面试经验分享。
机考:
机考共三道题,前面两道各100分的简单题,最后一道200分,至少中等难度,甚至困难,看运气。机考平台牛客网,ACM模式。可以先刷刷牛客的题,为保障拿下最后一题,可以刷刷**的专题。
心理测试: 100多道题目,好好看看超负责的OD人事栗栗发的注意事项,就没问题了,按照华为的文化来,团队积极乐观狼性,尽量前后一致。
技术一面:由本部门的人来面试。自我介绍后开始问问题,主要是理论性的问题,就问了10来分钟就手撕代码了。
RabbitMQ的消息丢失如何解决
AOP的实现和应用场景
数据库隔离级别,sql优化,索引的存储原理
Redis的在自己项目中如何用的,处理了哪些问题
Nacos心跳机制
RPC是什么,Dubbo用的什么协议
有没有研读过哪些源码源码(加分项,如Spring的循环依赖等)
手撕代码题(二选一,题目和答案网上都有):
1、ABC三个线程交替打印ABCABC...
2、给定一个经过编码的字符串,返回它解码后的字符串。
编码规则为: k[encoded_string],表示其中方括号内部的encoded_string正好重复k次。注意k保证为正整数。
你可以认为输入字符串总是有效的;输入字符串中没有额外的空格,且输入的方括号总是符合格式要求的。
此外,你可以认为原始数据不包含数字,所有的数字只表示重复的次数k,例如不会出现像 3a 或 2[4] 的输入。
示例1:
输入:s = "3[a]2[bc]"
输出:"aaabcbc"
示例2:
输入:s = "3[a2[c]]"
输出:"accaccacc"
示例3:
输入:s = "2[abc]3[cd]ef"
输出:"abcabccdcdcdef"
示例4:
输入:s = "abc3[cd]xyz"
输出:"abccdcdcdxyz"
技术二面: 由其它部门的人来面试。基本问业务问题,问了有半个小时,个人觉得问题答得一般,但是和面试官的互动很多,回答问题要有一个思考的过程,因为考察的是业务能力,大胆从不同的方面说出你的想法,但不能瞎说,考虑不足也没事,主要要有想法,有思辨性。
问题:如何理解面向对象;处理业务的类和定义实体的类的区别,为什么会有这种区别;Seata用的模式和工作机制,使用的负载均衡算法有哪些不足,如何优化;logstash怎么监视数据库数据的;最后也有问框架源码问题,我直接说的还未来得及研读,Redis相关业务问题也有问等等。业务问题挖的比较深,扩散性的问,主要针对你简历的项目,所以每个人问题都会不尽相同。总之对业务要有你自己的想法。
手撕代码:
/**
* 给定一个含有 n 个正整数的数组和一个正整数 s ,找出该数组中满足其和 ≥ s 的长度最小的连续子数组。
* 如果不存在符合条件的连续子数组,返回 0。示例:
* 输入: s = 7, nums = [2,3,1,2,4,3]
* 输出: 2
* 解释: 子数组 [4,3] 是该条件下的长度最小的连续子数组。
*/
三面:HR面。首先她介绍了后续面试流程,以及薪资构成。然后就开始自我介绍,然后通过你的介绍的点来问,比如我说喜欢如篮球的团队运动,乐于沟通,面试官就问工作中跨部门或小组协作出现分歧,你是如何解决的?还有根据你的兴趣爱好,你的家庭情况,来了解你的生活学习状态,最后问了薪资,然后反问。放开聊天就行,要表现出积极进取的态度。
综面:主管面试。也是先做了自我介绍。然后开问:对代码的质量如何把控;你觉得要达到怎样的完成度才能交付项目;对加班的看法,最后问了之前的薪资以及现在的期望薪资。我答得不好,基本没和面试官聊到一个点上去,然后他就开始说怎么写好代码,聊需求的完成度之类的..... 面试中要理解面试官表达的意思,再顺着他的观念想法回答后面的问题。
最后非常感谢HR栗栗的帮助,她是我迄今为止见过最负责最有耐心的hr了,可以说是面面俱到,所有问题她都会耐心的解答,有什么事情也总会提醒你,为你面试时保驾护航,面试结果反馈也快,我有朋友反馈需要一周,她两天就催下来了,哈哈哈,给她点个赞,真的非常感谢她!!如果有意向华为OD的,推荐联系栗栗(手机186 1720 5178,微信lfyslp)!!!!