24届考研-java面经(华为OD)

背景:

24届大学科班,毕业后一直在考研,之前没有实习等相关工作经验。考研失败后考虑来OD工作,于是通过栗栗姐推进机考和面试流程,最后成功拿到了offer。 

机考:

机考可以通过栗栗姐获得现成的题库和题解作为参考,刷好题后可以让栗栗姐申请机考。准备时最好先自己想再看题解思路,这样机试时不容易卡思路,而且也能应对代码重复度的检查。双机位考试,摄像头一定要调试好,机试时保持网络畅通,手机不要接听电话之类的,避免被记录下违规行为,这样对之后的找部门也会有影响的。栗栗姐在机考前会发机考的行为规范,大家务必重视。 

T1:分披萨100分。"吃货"和"馋嘴"点了一份圆形披萨,粗心的服务员将披萨切成了每块大小都不同的奇数块,且肉眼能分辨出大小。两人决定轮流选取披萨块,从"吃货"开始,每次选取时必须从缺口处开始选。"馋嘴"每次都会选择当前最大块的披萨,而"吃货"知道"馋嘴"的选择策略。已知披萨小块的数量及每块的大小,求"吃货"能分得的最大披萨大小的总和。 

T2:AI面板识别100分。AI识别到面板上有N(1 ≤ N ≤ 100)个指示灯,灯大小一样,任意两个之间无重叠。由于AI识别误差,每次别到的指示灯位置可能有差异,以4个坐标值描述AI识别的指示灯的大小和位置(左上角x1,y1,右下角x2,y2),请输出先行后列排序的指示灯的编号,排序规则:每次在尚未排序的灯中挑选最高的灯作为的基准灯;找出和基准灯属于同一行所有的灯进行排序。两个灯高低偏差不超过灯半径算同一行(即两个灯坐标的差 ≤ 灯高度的一半)。 

T3:文本统计分析200分。有一个文件,包含以一定规则写作的文本,请统计文件中包含的文本数量 规则如下:

1.文本以“;”分隔,最后一条可以没有“;”,但空文本不能算语句,比如“COMMAND A;”只能算一条语句。 注意,无字符/空白字符/制表符都算作“空”文本。

2.文本可以跨行,比如下面,是一条文本,而不是三条:

COMMAND A

AND

COMMAND B;

3.文本支持字符串,字符串为成对的单引号(')或者成对的双引号("),字符串可能出现用转义字符()处理的单义字符()处理的单义字符(比如"your input is: """)和转义字符本身,比如 COMMAND A "Say "Hello"";

4.支持注释,可以出现在字符串之外的任意位置,注释以“--”开头,到换行结束,比如:

COMMAND A; -- this is comment

COMMAND -- comment

A AND COMMAND B;

注意,字符串内的“--”,不是注释。 

综测:

都是选择题,注意前后答案的逻辑尽量一致。 

综测完后就可以给栗栗姐发简历选部门了,部门会提前和你打电话沟通情况,合适的话就会推进面试流程。面试是会议视频面试,根据栗栗姐提供的八股文资料和面试注意事项准备好。有需要准备的也可以和栗栗姐说,他会等你准备好后再去推荐部门面试

HR资格面:

1.自我介绍

2.问教育背景

3.简单介绍下简历上的项目

4.gap期间做了什么

5.最有成就感的一件事 

技术面

分为两个环节:手撕代码和八股。手撕代码难度不算大,把力扣hot100刷完就差不多了。我遇到的手撕都是面试官出题然后自己在本地ide上写,一般能通过面试官给的测试用例就可以,除非面试官特地要求不然不会考虑效率,写完后会叫你说一下代码思路。八股环节会重点考察简历上的项目和技术栈,所以要把简历准备好,不会的不要写上去。不过没写在简历上但是比较基础的知识点也会问,所以要准备的充分一点。 

技术一面:

1.cas原子操作以及ABA问题

2.线程池的类型和调优

3.sql优化

4.spi机制

5.根据项目问redis的数据类型和用途

手撕:岛屿问题求岛屿的周长

技术二面:

1.局部变量,全局变量和静态变量的区别和作用域

2.根据map的put操作说下底层原理

3.map线程安全吗?ConcurrentHashMap如何保证线程安全?

4.介绍一下SpringMVC和SpringBoot。

5.redis中的LRU算法

6.Redis+Caffeine多级缓存架构

7.Redisson分布式锁和Lua脚本

8.NIO等通信模型

9.tcp,ip,http分别是哪一层的协议

10.数据传输的半包和粘包问题

手撕:面试官看我简历上涉及LRU算法于是让我写个LRU缓存,这个力扣hot100上也有原题。 

技术三面:

1.hashset和treeset区别

2.cas原子操作

3.分布式锁实现

5.mysql性能优化和基本查询语句

6.redis缓存雪崩的解决方案

手撕:给一个字符串如:{A{AB{B}A}C},每个括号内的字符算同一层,要求统计每个字符的层数,输出:A:2, B:2, C:1。

综合主管面:

先是自我介绍,然后也主要是围绕项目来交流,不过更侧重开发流程以及如何解决问题这方面,比如接口文档,抓包这些,考察开发过程中使用的工具。同时也会问项目中某个标准是如何设计的,当初为什么会写这么一个项目。此外就是聊一下校园内的事,问你为什么选择这里,平时如何学习java的,以及介绍一下部门业务。 

总结:

好好准备机试,机考分数尽量高些,面试时手撕代码一定要过关,撕不出来可能就挂了。简历上有项目的一定要搞懂每一个细节,面试官们很喜欢根据项目问八股,被拷打时也不能急,尽量说下自己的思路,放平心态,面试官们还是很不错的。

最后再次感谢栗栗姐的全程跟进和陪伴,无论是机考还是面试都会事无巨细地发攻略和注意事项,面试的时候也会有提醒,可以说十分称职了。平时有问题问栗栗姐也是很快就会回复,我晚上面试她也会等着帮我问结果,让我非常的安心。大家如果对OD感兴趣的可以找栗栗姐咨询。最后再说一句,选了栗栗姐的同学就不要把身份证号给别的HR了,不然简历被锁了就没办法再让栗栗姐跟进了。

#内推##java##华为od##华为##面经#
全部评论

相关推荐

1.项目介绍2.你简历上写了很多项目,选一个你最熟的项目给我讲讲,你在里面具体做了哪些工作3.你说你写了300+测试用例,那你这些用例是怎么设计出来的?依据是什么?能举个模块的例子讲下用例覆盖是怎么考虑的4.你写你做了头寸指标的测试,那这种金融指标你是怎么验证准确性的?你不懂业务怎么能测试得准5.你提到流动性风险监控效率提升35%,这个数字是怎么得出来的?你怎么评估测试效果的6.你做过接口测试那你能讲讲一个你测过最复杂的接口吗?这个接口有什么业务逻辑?怎么验证的?7.Postman你主要用来做什么?有没有写过测试脚本?如何做断言和数据校验?8.你写Fiddler抓包优化页面响应时间,怎么分析性能瓶颈的?你怎么知道是前端问题还是后端接口慢?9.用Rancher做容器化测试环境管理?你是怎么操作的?Pod挂了你是怎么看日志排查的10.用Selenium做过测试?那你说说你写的一个自动化脚本是怎么构建的11.你说你熟悉数据库操作,那你有做过数据一致性校验吗?比如上下游系统数据对不上的时候你怎么查12.你们怎么做版本回归?回归范围谁来定?你们有没有遇到过需求变更导致测试返工的13.你提到ETF带来的头寸变化验证,这种业务你是怎么理解的14.你做的资金交收系统涉及托管银行,那这种跨系统联调测试你们是怎么推进的?有没有接口兼容性问题?15.如果你测一个接口发现在某些条件下响应特别慢,但开发说查不到问题,你会怎么处理16.上线后用户报了数据错了,但测试环境测的是对的,你会怎么定位问题17.你做了很多数据测试,如果数据源不一致,比如数据库字段和页面显示不一样,你会怎么排查18.项目上线前时间很赶,你觉得测试来不及了,你会怎么跟产品或开发沟通?是放掉用例还是申请延期?19.你有没有遇到过版本上线后出现重大bug的情况?后来怎么解决?复盘你觉得哪里可以提前发现?20.你写你构建了回归用例库,你能详细说说怎么选用例?用例库怎么维护?有没有做优先级分层21.你提到帮助投行业务提升了用户满意度,这个满意度是怎么评估的22.你说你用SQL验证历史交易数据,那有没有写过复杂的SQL?比如你查过一个用户在某个时间段内异常行为,怎么查23.手撕:给定长度为N的字符串S,要构造一个长度为N的字符串T。目标是要构造字典序尽可能小的字符串T
点赞 评论 收藏
分享
12-24 20:44
武汉大学 Java
点赞 评论 收藏
分享
评论
点赞
1
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务