24届考研失败Java开发岗-华为OD面经

  • 背景:

24届某中部985软件工程专业,考研失败转战求职,在校期间做过几个Spring Boot项目但缺乏实习经历。联系了鼠鼠说OD更看重基础和学习潜力

  • 机考:

题目比预想友好。第一题是字符串解析(类似日志时间格式转换),10分钟搞定;第二题考DFS求二叉树路径和,调试时漏了叶子节点判断,卡了15分钟才AC;第三题是SQL题改编的Java实现(分组统计Top N),因为复习时刷过类似题型,虽然代码冗长但通过了85%

  • 综测:

按鼠鼠给的阳光卷王人设答题

  • HR资面:

电话面15分钟,问题很务实:

• 空窗期做什么?答系统补Java并发和JVM,顺带帮导师改本科作业赚生活费。

• 对OD的看法?答更看重技术成长

• 反向提问时问了部门业务,HR提到“做智能客服中台”,立刻接话“和我之前的课程设计(一个简易问答机器人)方向吻合”

  • 技术一面:

面试官人很好,先让手撕代码:合并两个有序链表。5分钟写完,他突然问“如果链表有环怎么办,赶紧补上快慢指针判环逻辑。八股问得浅但角度刁钻:

• HashMap扩容为什么是2的幂次?用位运算替代取模答出来了,但追问为什么JDK8要转红黑树,只答出防哈希碰撞攻击,实际上还涉及查询效率优化。

• 项目问得细:Spring事务失效场景

  • 技术二面(3.15):

严肃大叔,一上来就让我画项目架构图。讲到Redis缓存雪崩时,他打断问同事非要用手写LRU淘汰策略,你怎么说服他用Redis原生”硬着头皮答“从维护成本与集群性能权衡”,看他表情应该算过关。手撕代码是生产者消费者模型,用BlockingQueue秒了,他补充问“线程池参数怎么设?”把鼠鼠给的调优口诀背了一遍。

  • 主管面(3.18):

最像聊天的一场。问我“考研失败哪里没做好”,坦白说高估了政治背诵效率;问同学都去哪工作了,还有职业规划啥的

由入职本人写,我代为分享

有意向的可以推(东莞,杭州,深圳,上海,西安,成都研究所)(2012,海思,carbu,终端等)需要资料的可私鼠鼠

#面试经历##鼠鼠##华为od##考研失败#
全部评论
大佬,你在哪刷的机考题
点赞 回复 分享
发布于 03-25 20:14 上海
接好运
点赞 回复 分享
发布于 03-25 08:56 江苏

相关推荐

个人情况:24 届中国矿业本,工科专业,非科班,无工作经验(考研) 机考:    1.求三个矩形 A、B、C 相交区域的面积,给出每个矩形的左上顶点坐标以及长宽数据。     2.给定一个字符串,该字符串由 @ 分成两部分。@前的部分表示可以使用的字母及其数量。@ 后的部分表示已经被使用的字母及使用的数量。你需要按原字符串的顺序输出剩余的可使用字母及其剩余数量。 例:输入:a3b2c1@a1c1 输出:a2b2     3.寻找单词。给定一系列等长字符串,组成一个二维矩阵。给定一个目标单词,判断是否存在一系列上下左右相邻的字母能够按顺序连成目标单词,若存在,按顺序打印每个字母在矩阵中的位置(连接时每个字母只能用一次)。 例:输入:ACCF,CDED,BESS,FECA target:ACCESS 组成矩阵:A,C,C,F C,D,E,D B,E,S,S F,E,C,A 输出:0, 0 0, 1 0, 2 1, 2 2, 2 2, 3HR资面:    1.自我介绍     2.个人情况     3.断档原因     4.家庭情况     5.根据简历内容提问     6.觉得自己有什么优势     7.是否有其他 offer     8.为什么选择来 OD     9.职业规划     10.薪资期望     11.反问环节 技术一面:    1.手撕代码:将一组 IPv4 地址格式的字符串按照升序进行排序,并讲解代码思路。 比较规则:192.168.1.1 > 192.168.0.1 172.168.6.1 < 192.168.0.1     2.介绍一个自己的项目或作品     3.如何对该项目的需求进行分析,并拆分项目功能模块     4.项目用到了 MVC,讲解 M、V、C 分别负责了哪些功能     5.static 的作用     6.vector 和 list 的区别     7.迭代器的作用     8.冒泡排序与快速排序的算法原理     9.虚函数与普通函数有什么区别     10.多线程与多进程有什么区别 技术二面:    1.手撕代码:Leetcode 165. 比较版本号     2.简单介绍简历上的一个项目     3.该项目的某个功能的算法实现思路     4.项目的程序设计问题     5.unordered_map 的原理     6.如何解决哈希表的冲突问题     7.进程间的通信方式有哪些     8.如何解决在工作中遇到的问题 主管面:    1.自我介绍     2.断档情况了解     3.考研目标院校与专业     4.为什么选择考这个专业,而不是计算机专业     5.为什么当初选择考研而不是找工作     6.不是计算机专业,为什么选择这一行    7.本科专业、考研目标专业、就业领域方向差异过大,是否觉得自己没有选对方向 总结:     1.技术面的难度不算太高,问的问题也是八股偏多(大概是因为没有工作经验),其余的也大都与简历内容相关。现场编程题目的难度不算高,但是限时 40 分钟,平时要注意多加练习。     2.HR 面比较轻松,回答的时候要以实事求是为主,并要能尽量体现自己:① 有正常的交流与逻辑思维能力;② 有获得这份工作的意愿;③稳定性好等。     3.综面时给的压力很大(因人而异),面试官的提问十分直接和尖锐,问的都是痛点,而且会追根问底。最好对类似的一系列问题提前做一个准备,不要被打个措手不及。    4.饼饼老师会发一些算法和面经攻略,准备起来真的便捷很多,大家老实啃透资料基本就没问题了!
点赞 评论 收藏
分享
05-22 15:18
已编辑
华南理工大学 Java
本人背景:    兰州大学会计学本科,2020年毕业,毕业后脱产准备计算机考研,期间学了408、C和C++,无项目经验,机考400分机考准备:    总的来说,就是刷题。    (1)在思考或者写代码的过程要多注意题目给的条件。有时候写代码写着写着就容易把条件忘了,所以要多回去看看题目。    (2)一定要把每一题的逻辑捋顺,必须非常清晰每一步是在做什么,这一步与上一步、下一步是如何串联起来的,对于初学者最好是在代码里用注释写下来你的逻辑。写的时候可以把自己代入老师的角色:如果是你,你要怎么跟其他人解释每一步。这可以说是费曼学习法。每一步的逻辑一定要连贯,这样才算是真的理解了这个题,或者说理解了算法,否则可能就会出现“假懂”的现象。    (3)如果时间充裕,可以在看解析之前自己先试着在5分钟内思考下解题思路,如果有思路那就自己先写一遍代码,写完了再看解析。如果5分钟内没有思路,那就没必要死磕下去了,直接看解析。对于有些题目,有大致思路,但是需要考虑一些临界值问题,那这种题可以思考得久一点,不必限制5分钟内,但是也不要太久,10分钟左右是差不多的。    (4)找到合适你的刷题材料。我学的C++所以刷的是代码随想录,这是饼饼老师发给我的,是个很好的资料!代码随想录按照专题来区分题目,例如双指针、二叉树、回溯、动态规划等。作者讲解的时候是用C++语言写的,不过最终答案也有其他语言写的,如C、Java、Python、JavaScript、Rust。作者除了文字版解析,也有录视频讲解。逻辑很清晰,一环扣一环,适合零算法基础、算法不熟悉、需要巩固算法的同学。对于其他语言的同学,如果没有找到其他好的刷题材料,也可以用代码随想录,很推荐!    (5)对于CSDN上面的机试题库,从应试的角度来说,直接刷这些题确实可以大大提高机试的通过率(掌握的前提下)。对于算法基础不错的同学来说,可以直接刷上面的题节省时间。对于算法基础薄弱的同学,如果时间不够,也可以直接刷,如果时间充足,建议还是看看代码随想录这种成体系的算法刷题材料(如果有其他同样成体系的刷题材料也可以),因为这可以给自己建立算法基础知识体系,这是底层思维,而且这对技术面的手撕题也有帮助,手撕题是没有题库的。事实上,如果代码随想录的题目都掌握了,那么CSDN机试题库的题目你会有种似曾相识的感觉,没错,思维是一样的!    当然这只是我作为零基础经验的参考,每个人的知识基本盘不一样,所以准备的时候具体细节就不一样了。一定要根据自己的知识掌握程度来安排学习节奏。万变不离其宗,那就是多刷题多总结,两者缺一不可。        最后向大家推荐下我的hr饼饼老师!从机考到offer总共40天,因为我的情况和履历其实有点糟糕,很难找部门,中途饼饼老师给我找了很多,也换了很多,也没有放弃我,还一直给我鼓励,没想到最后真的成功拿到offer!真的非常感谢饼饼老师的耐心和鼓励!祝大家都能成功上岸!
投递华为等公司8个岗位
点赞 评论 收藏
分享
05-24 15:21
已编辑
衡水学院 安卓
二面基本上场景+八股+聊天 个人觉得有点难一. 个人方面1.从大学到现在做过最有挑战的一件事情2.在找第一份实习你做的最正确的一件事3.问毕设(大三没有qwq)4.参加了什么实验室吗(打竞赛qwq)5.什么时候接触的安卓6.期末demo花了多久,怎么写的,有没有借鉴开源项目二. java安卓八股1.安卓进程间通信,为什么新做了binder(不会)瞎说的2.有没有看过binder源码,有没有写过跨进程之间通信的demo3.handler和binder什么关系啊,message和binder的关系(我说message底层是binder,我瞎说的我真不知道qwq)4.安卓里面最难的知识点接触的是什么5.什么是协程 和线程的关系 为什么是轻量级的,节省的内存在哪里6.jvm虚拟机了解到多么,内存管理这方面了解吗(不会 只知道垃圾回收)7.怎么判断一个对象有没有内存泄漏,要不要回收8.日常开发如何排查内存泄漏9.除了leakcanary还可以怎么样10.leakcanary的原理11.如何避免内存泄漏呢,在开发过程中12.安卓发起网络请求如何实现,代码具体怎么写三. 场景1.有abc三个请求a,b独立,c依靠ab请求的数据,如果这样你怎么实现,代码具体怎么实现2.如果我想实现一个线程安全的方法,比如说我写了个单例,这个单例的方法我要是保证它线程安全的,那实现方式都有哪些?3.假如说我这个单例的初始化已经写完了,再去写其他的一些方法,那还有什么方式来去实现4.锁怎么加,加在哪,在返回之前加,在返回之后加5.violent是解决什么问题的,除了单例模式,还有什么情况需要用6.为什么java会有线程不安全(因为java有并发),为什么并发会导致不安全,底层原因是什么(我举了一个两个线程操作同一个变量,会有逻辑错误,所以线程不安全),他说我不对,问我如果想了解这方面的知识原理需要学什么(os)四. 网络八股+场景1.网络层的协议都有什么2.https为什么更安全3.什么是对称加密 什么是非对称加密,加密解密流程是什么(不会)4.dns协议解决的问题是什么5.我们在安卓的网络请求的时候,优化 DNS 解析的时间,有什么思路吗(缓存)6.缓存的策略要怎么去维护(没理解)补充:数据结构要怎么去设计代码的这个类要具备哪些能力7.存下来的数据怎么管理呢(纯拷打)五. 其他询问成绩 手撕二维螺旋数组后续觉得凉凉了就没录音,就是一些实习多久云云整体时间就是5,17一面 下午约二面 5.19上午二面 下午oc 5. 22邮件
点赞 评论 收藏
分享
评论
1
4
分享

创作者周榜

更多
牛客网
牛客企业服务