OD-23届考研-Java面经

  • 自我情况介绍:

非科班转码,跨考考研两年失败收场,一站ustc软专,成为真正的科憨,二战华师,继续沉入大海。

了解/选择华为OD的心路历程:华为OD的招聘铺天盖地,以二战跨考生的身份很容易接触到类似的消息。虽然翻各个平台的评论区,华为OD的消极评价不少,很多人的言语表达中,透露着一种一入华为OD,此生的前景就此倒头的味道。但咱以自己的情况,分析自己现在的处境:还算可以的学历,但不是IT相关的专业(差别很大),自身只是一个普普通通的大学生,并无多少有含金量的经历,目前实际掌握的技能也不足以让自己找到一份IT行业的好工作(大厂?想想先吧。小厂?无法直接带来生产力的员工,老板要吗,薪资能如何?),但又不想干原专业的工作。诸多衡量考虑下,华为OD已经是不错的选择。

有了初步的决定,开始去了解和尝试。

1月3日 ~ 2月20日

牛客上看到栗栗姐的信息,随缘点了进去,并加咨询,了解华为OD的流程以及相关信息,开始机考的准备。个人选择以Java作为机考语言,此前虽然有一些Python和C语言的基础(聊胜于无),但想着Java更多一些工作机会,以及Java语言的学习有更多的参考资源,对别的方面也有帮助,所以选择了Java,并花费了一些时间学习JavaSE。

初期时候,发现自己很多基本数据类型不会用(力扣上初次见到HashMap这个单词组合,人直接就是懵),意识到直接刷题还不行,遂补充学习JavaSE。不得不提这段时间栗栗姐给予的帮助。因为要补充学习Java内容,和栗栗姐定下大概两个星期跟进一下进度(有点像找到一个督促学习的老师,但是不会每天叫你早起,不用担心随时可能出现在窗口探出头来没收手机的高中班主任;隔一段时间,像朋友一样问问你感觉怎么样,并且有求必应,不会已读乱回哈哈哈)。

Java基础学到自认为足以用来写编程题后,开始刷题阶段。栗栗姐提供了机考可能遇到的编程题的题目类型,有相对应的经典题目以及一些OJ题库。伴随着放假以及春节,自身学习状态起伏,总算达到自认为还可以的程度(栗栗姐的意见,一些较难的题目能够完成,并且栗栗姐强调了要适应自己接收处理输入输出,区别于其他模式),约2月21日机考。

  • 2月21日 机考(做到了栗栗姐给的原题)

题一:

模拟数组操作,类似于跳格子,相隔固定有效数取出元素

由于缺少应对这样的编程考试经验,写第一题的时候卡在小的细节问题上很久,第一题磨叽了一个小时还只有30%通过率,一度大脑空白,幸于多年应试考试经验,往后先写,再回过头来看,找到了问题,ac

题二:

模拟坑人的出租车计费器,每逢4进一

例子: 3 -> 5,跳过4。 13 -> 15,跳过14。 39 -> 50,跳过40~49

接收一个价格,返回正确的价格

个人思路:类似双指针的思路,一个以正常价格++,另一个模拟坑人出租车价格增长 90%通过率

题三:

(有些忘了题目描述)

类似于一个个确定座位,限制每个人不能贴着坐,并且每次确定的位置,要使得他与别人的距离尽可能的远

例子:第一位固定坐0号,第二位坐9号(最后一个座位),第三位坐4/5号,以此类推

时间来不及完成,只过了一些用例

因为是目标院校,要求的分没那么高,当天通知通过了。

  • 2月22日 综测(栗栗姐发了攻略,小问题)

本人认可公司文化,积极向上,乐于与人沟通,有些小毛病但是不多

顺利通过

  • 2月23日 ~ 3月5日 hr面、技术面准备阶段

一边联系了第一个部门(自己一意孤行联系的),一边补充学习栗栗姐提供的Java八股文内容,一边保持力扣算法题刷,一边回顾一下以前学过的408和自己简历上的东西。

本意尽早进行技术面,与部门沟通准备一周,定29日技术面(口头约定)

但问题来了,第一个部门近日工作量过大,hr面迟迟安排不上,拖到5号

幸好栗栗姐及时沟通,帮忙更换部门安排hr面,成功约上第二个部门6号hr面

  • 3月6日 第一次hr面

简单的一些信息询问,唠唠家常,正常沟通即可

结束后栗栗姐迅速跟进,了解到本人的情况这个部门可能会卡审核,于是迅速换第三个部门,并约第二日hr面

  • 3月7日 第二次hr面

同上,作为正常人对话即可,并沟通希望今早技术面

  • 3月10日 一天完成两轮技术面

关于技术面,作为非科班转码,并且没有太多经历,能准备的除了自己简历上的,主要就是尽量学习计算机基础四大件和八股文内容

  • 技术一面

面试官很友好,简单自我介绍后,开始问答环节 20min

1.介绍Java容器

2.介绍自己了解的红黑树

3.基本数据类型与包装类型

4.程序从源代码到运行,编译、解释、运行(回答扯到Java语言的特性)

5.String 以及 String的方法 (后意识到面试官可能想问的是框架String,但很遗憾我只会一点String类)

6.I/O流(不会)

7.JVM内存区域

8.介绍一下gc

手撕代码题,原题,题号318

第一轮(20min)思路:使用两层遍历,外层使用HashSet表示当前字符串的字母空间,内层遍历后续字符串,遍历该字符串,一个个比较字符是否重复出现,通过但时间复杂度高。

经与面试官交流分析: 遍历后续字符串时,是遍历该字符串数组,一个一个字符的遍历,对于重复的字符串,会遍历到重复的字符,每轮对后续字符串的遍历,都会如此,造成高的字符串遍历开销

第二轮优化:遍历建立字符串的哈希表,往前比较,比较当前字符串与前序字符串的哈希表

面试结束栗栗姐及时跟进,告知通过

  • 技术二面

这一位面试官感觉更倾向考察面试者的自我思考能力,问答过程中不强求八股的熟悉程度,更要求表达清楚自己的想法、思路、认识。

问答环节:

1.介绍本科毕业论文(就算非科班也问)

2.考研、校园经历

3.机组讲什么

4.介绍认识的数据结构

5.链表的实现(答顺序存储、链式存储)

6.顺序存储的链表和链式存储的链表的差别

7.哈希结构如何处理冲突(答到拉链法,扯到HashMap底层用红黑树)

8.红黑树的特性、优势

9.谈对面向对象编程的理解

手撕代码题为华为自身的题,模拟实现火车牌(没玩过的可能不好理解),双方各有自己的牌库,双方轮流顺序出牌,把出的牌交替、顺序摆放,当出牌时出到一样的,就收回两张相同牌之间的所有牌放到自己的牌库,有一方牌库清空则对方胜利。返回胜利方、回合数、胜利方的剩余牌情况

思路:队列表示双方牌库(顺序出,补充进来的排在后面,FIFO);栈表示打出来的牌的牌库(拿出来的在后面,FILO)。整体思路得到面试官认可。但手撕代码过程中,对题目意思的了解不完全,卡在从打出来的牌中回收牌的步骤中,以及手撕代码时自己的电脑不堪重负,IDEA调试debug时频繁连不上虚拟机(此前都没碰到过,当时尴尬死),卡机过程中和面试官沟通自己的思路,分析自己可能出现的问题,面试官人很好,并没有怪罪我拖了些时间,并指出了我的错误。最后直到面试结束还是没调试好代码,卡在不知道哪个循环里。

面试结束又花了20分钟整理思路,调整使用的数据结构,输出正确结果。。。

总结两轮技术面,面试官可能会问的问题包含八股文以及数据结构等计算机基础知识内容(栗栗姐提供的八股文资料里都有包含,而且讲解的很细,类似于我这样没什么基础的也能理解),非科班应届,尽自己的力多准备一些足以。

  • 3月11日 主管面

挺平淡的聊天,谈薪资。审核

  • 3月14日 审核通过
  • 总结:整体流程下来,得益于栗栗姐的帮助,嘎嘎快,非常非常感谢栗栗姐这段时间热心的帮助,身处一个二战考研失败和家里拉扯的情况,很庆幸得到栗栗姐的帮助。
全部评论
哪个部门呀
点赞 回复 分享
发布于 04-02 16:39 新疆
求资料
点赞 回复 分享
发布于 04-08 10:55 江苏
可以给一份面试资料吗
点赞 回复 分享
发布于 04-08 13:36 上海
可以求资料嘛
点赞 回复 分享
发布于 04-08 15:59 北京
求资料,有Python的吗?
点赞 回复 分享
发布于 04-09 10:09 广西
求一份资料
点赞 回复 分享
发布于 04-09 21:30 吉林
佬,可以求一份上机的题吗
点赞 回复 分享
发布于 04-10 00:22 四川
求一份资料
点赞 回复 分享
发布于 04-11 09:34 四川
可以求C++资料嘛
点赞 回复 分享
发布于 04-11 17:26 安徽
求资料
点赞 回复 分享
发布于 04-15 13:39 云南
求一份资料
点赞 回复 分享
发布于 04-17 18:15 陕西
栗栗姐求资料。
点赞 回复 分享
发布于 04-18 21:18 云南
求一份c++资料
点赞 回复 分享
发布于 04-19 17:36 安徽
栗栗姐求资料
点赞 回复 分享
发布于 04-19 20:36 浙江
求份资料 感谢感谢
点赞 回复 分享
发布于 04-20 23:46 四川
求资料
点赞 回复 分享
发布于 04-23 12:12 浙江
求资料
点赞 回复 分享
发布于 04-23 12:41 四川
明天面试,现在能用c的资料吗
点赞 回复 分享
发布于 04-29 20:48 重庆
求一份java的资料
点赞 回复 分享
发布于 08-03 21:28 浙江

相关推荐

斑驳不同:还为啥暴躁 假的不骂你骂谁啊
点赞 评论 收藏
分享
10-27 17:26
东北大学 Java
点赞 评论 收藏
分享
评论
11
50
分享
牛客网
牛客企业服务