华为od面试全流程总结

一、笔试

笔试是三道算法题,时间是150分钟也就是两个半小时,分值是100、100、200,如果是目标院校的话,好像150分就过了,不是的话分数线好像会高很多。我抽到的题不难,满分通过。

完整的笔试题和解析见我的博客: 华为机试(6.17笔试题解析)

二、性格测试

笔试通过后会做一套性格测试题,不要忽视这个环节,这部分是有可能挂人的。(终面的时候面试官告诉我,我的性格测试结果显示我有点焦虑,还让我说明原因)

三、技术一面

技术一面是你入职后所在的项目组的面试官来面,所以会轻松一点,像我就是全程在和面试官聊天,手撕的代码题也很简单,就不详细说了。

四、技术二面

二面是不同项目组交叉面试,时间相当之长,面了我足足一个小时。。。

1.自我介绍

2.JVM的组成?

3.一个java文件怎么被加载到jvm里?

4.SPI(Server Provider Interface)了解吗?(没听说过)

5.怎么确定某个对象是需要被回收的?

6.线程创建有哪些方式?

7.Runnable和Callable有什么区别?它们如何处理异常?(异常处理那块没答出来,基础不牢啊)

8.为什么会发生线程安全问题?Java的内存模型(JMM)?

9.如何保证线程安全?(提到了 volatile和synchronized)

10. volatile和synchronized的区别,结合JMM说说?

11.说一说线程池的工作流程?

12.线程池的拒绝策略?实际生产中我们怎么设置拒绝策略?(啊啊啊,这个问题牛客上是有的,当时没复习!!!)

13.SpringAOP?原理(设计模式)?

14.现在我想实现一个权限验证的功能,而且不想使用安全框架,你有什么思路?(这个我正好有做过这样的一个需求,就是自定义一个注解,在需要权限验证的方法前加上该注解,然后用AOP去做验证,用拦截器也可以实现)

15.SpringBoot相比Spring做了什么改进?(起步依赖和自动装配)

16.说说SpringBoot的自动装配流程?(提到了@Conditional注解)

17.我现在有一个Provider类,它被容器管理,但是我不想用它了,想用一个新的Provider类,那么如果我直接将它交给容器,会报Bean冲突,那么怎么使用@Conditional注解,让这个新Provider的Bean直接替换掉原来Provider的Bean?(实际上就是怎么用@Conditional注解实现按条件注入Bean,可惜我没有自己动手试过,没答上)

18.MyBatis怎么实现分页?

19.手撕代码:大意是给一串数字,如104032,将它用中文表示:十万四千零三十二。(当时就想到按部就班去做,每隔四位就会出现万、亿这样的单位,可以除4判断,而十百千是循环出现的取模判断就行,麻烦的地方在于零,多个零只能保留一个,如一千零一,不能是一千零零一,而在个位的(只有个位的时候还是要保留)、万位的、亿位的零不能被保留,如二十,不能是二十零,但是面试官说我对这个问题还是没有彻底抽象出来,做法略显麻烦了点,但最后他也没说最佳做法是啥...)

20.反问

五、综合面式

1.自我介绍

2.询问我的主要项目,特意问了代码量有多少。

3.问实习经历,在实习的项目里主要负责哪块。

4.性格测试结果显示你是有点焦虑的,能说下原因吗?

5.期望薪资?

6.期望工作地点?

7.反问

六、资格面试

类似于hr面,就询问了下个人基本情况,期望薪资,为什么不考研等等。

  • 21
    点赞
  • 189
    收藏
    觉得还不错? 一键收藏
  • 17
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 17
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值