华为 OD,拿下了!

点击上方“Java基基”,选择“设为星标”

做积极的人,而不是积极废人!

每天 14:00 更新文章,每天掉亿点点头发...

源码精品专栏

 

来源:juejin.cn/post/

7215116017038671927

5c2edd89ad23cd380657dcf93da4a85a.jpeg


今天在掘金上看到了一篇面经,趁热分享给大家,半年经验拿到华为OD offer,整体难度适中,还是非常具有参考价值的!下面是详细的面经!

22届,半年工作经验,离职后找工作时有HR联系过来,试着投了简历。

原公司主要做电商这块,对电商业务比较熟悉,期望能进入类似的部门,让HR帮忙找了比较匹配的业务线,好评

总体流程很快,HR很负责经常帮忙催进度,从笔试到发offer差不多两周。

笔试

笔试395,难度不是很高

第一第三题dp和哈希表100%,第一题题目一开始没看懂意思,看了挺久。第二题印象比较深,时间复杂度O(n)有一个用例超时了,95%

第二题:为新员工找友好度最高的座位,数组表示座位情况,如11101211100111211,0为空,1为老员工,2为墙壁。空座位左右连续老员工数量等于该座位友好度,遇到墙壁则好友度清空。

初始思路是遍历数组,遍历到0时查找左右友好度情况,但是会有重复计算的问题,想着优化一下。

改为遍历一遍数组,遍历的同时维护左友好度和右友好度以及当前是否已记录座位。初始状态未记录座位,增加左友好度,当遇到座位时判断是否已记录座位,已记录时计算一次结果(左+右),未记录时更新状态。遇到老员工时根据是否已记录座位增加左/右友好度,遇到墙时计算结果+清除友好度。

性格测试

按照HR给的注意事项选就行,注意前后选择的一致性,选择正向的答案

基于 Spring Boot + MyBatis Plus + Vue & Element 实现的后台管理系统 + 用户小程序,支持 RBAC 动态权限、多租户、数据权限、工作流、三方登录、支付、短信、商城等功能

  • 项目地址:https://github.com/YunaiV/ruoyi-vue-pro

  • 视频教程:https://doc.iocoder.cn/video/

HR资面

简单聊了一会儿,HR说武汉和深圳都能去,武汉比较缺人。我觉得有点远,想去深圳,HR说面试完再确定也可以。最后也去的深圳

  • 离职原因

  • 期望工作地,期望薪资

  • 最近情况(投简历、复习、面试)

基于 Spring Cloud Alibaba + Gateway + Nacos + RocketMQ + Vue & Element 实现的后台管理系统 + 用户小程序,支持 RBAC 动态权限、多租户、数据权限、工作流、三方登录、支付、短信、商城等功能

  • 项目地址:https://github.com/YunaiV/yudao-cloud

  • 视频教程:https://doc.iocoder.cn/video/

技术面

技术面都是技术问题+编程题,技术问题答得一般般,面试当天是周五,上午一面晚上二面,那周前几天已经面试了10场没啥状态,有点开摆了,编程题都AC

编程题是分享屏幕,然后用自己电脑上的ide编写,写完面试官会给用例

一面

八股问的都不是很深,记不太清了,各个方面有提到,会的就简单聊一下,不会的就换其他问题

  • 聊项目,业务+技术

  • Java集合

  • SpringBoot自动配置原理

  • MySQL索引原理,工作中数据库优化的案例

  • Redis数据类型和原理

编程题:找出有效mac地址,通常表示为12个16进制数,如:00-16-EA-AE-3C-40。给一串字符串, 如00-16:aA-FE:3C-40-11-99-AA-Z,找出其中所有的有效mac地址,不区分大小写以及:和-

解法:MAC地址有固定长度,思路是滑动窗口判断当前部分是否为有效Mac地址。首先先对原字符串LowerCase(),再将:替换为-,方便验证。验证的地方主要是窗口内是否为12个16进制数,并且通过-连接。

二面

编程题面试官先给题目问有没有做过。答没有做过原题,有一点思路,讲了思路以后面试官确认没问题就开始写。

  • 聊项目

  • 面向对象和面向过程的理解

  • 平时使用哪个版本的JDK(JDK8),JDK8和旧版本有哪些不同的地方(讲了会儿与JDK7的对比,集合优化、JVM、新特性),lambda表达式(有什么优点和缺点?语法精简/不好debug,使用时有些限制)

  • 泛型,用处、应用,原理,运行时程序怎么知道是哪种类型

线程池7大参数,分析线程池工作时各参数变化情况(初始线程池容量x,最大容量y,队列长度z,来了n个任务,讲一下会发生的情况)

  • Spring AOP (原理、应用)

  • MySQL explain

  • 单元测试

  • 设计模式知道哪些,应用

编程题:给一个01矩阵,找其中1表示的最大面积正方形

0010

1110

1100

解法:遍历矩阵,找到为1的点后以这个点作为正方形的左上角,扩展正方形,同时计算最大面积

综面

面试官表示他们部门招人比较看重编程能力

  • 问简历上的项目,更侧重对业务的提问

  • 日常学习方式(看书、刷题),为什么要刷题,觉得有用吗

  • 上一段工作中的收获

  • 期望薪资



欢迎加入我的知识星球,一起探讨架构,交流源码。加入方式,长按下方二维码噢

a23982bd1fed3fb40a2b52eac3625f02.png

已在知识星球更新源码解析如下:

3db627ed4c9ec903385d4f623ac40fb7.jpeg

41f41cb1f81b536866ec6e04392a36cc.jpeg

8a83d7ab0fd4b7ce034b39ec04a971d4.jpeg

1e0218b6dda8e0bfb5fafb51e4ce7e40.jpeg

最近更新《芋道 SpringBoot 2.X 入门》系列,已经 101 余篇,覆盖了 MyBatis、Redis、MongoDB、ES、分库分表、读写分离、SpringMVC、Webflux、权限、WebSocket、Dubbo、RabbitMQ、RocketMQ、Kafka、性能测试等等内容。

提供近 3W 行代码的 SpringBoot 示例,以及超 6W 行代码的电商微服务项目。

获取方式:点“在看”,关注公众号并回复 666 领取,更多内容陆续奉上。

文章有帮助的话,在看,转发吧。
谢谢支持哟 (*^__^*)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值