⭐⭐⭐ Spring Boot 项目实战 ⭐⭐⭐ Spring Cloud 项目实战
《Dubbo 实现原理与源码解析 —— 精品合集》 《Netty 实现原理与源码解析 —— 精品合集》
《Spring 实现原理与源码解析 —— 精品合集》 《MyBatis 实现原理与源码解析 —— 精品合集》
《Spring MVC 实现原理与源码解析 —— 精品合集》 《数据库实体设计合集》
《Spring Boot 实现原理与源码解析 —— 精品合集》 《Java 面试题 + Java 学习指南》

摘要: 原创出处 juejin.cn/post/7215116017038671927 「夹心饼干1」欢迎转载,保留摘要,谢谢!


🙂🙂🙂关注**微信公众号:【芋道源码】**有福利:

  1. RocketMQ / MyCAT / Sharding-JDBC 所有源码分析文章列表
  2. RocketMQ / MyCAT / Sharding-JDBC 中文注释源码 GitHub 地址
  3. 您对于源码的疑问每条留言将得到认真回复。甚至不知道如何读源码也可以请教噢
  4. 新的源码解析文章实时收到通知。每周更新一篇左右
  5. 认真的源码交流微信群。

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

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

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

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

笔试

笔试395,难度不是很高

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

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

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

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

性格测试

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

HR资面

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

  • 离职原因
  • 期望工作地,期望薪资
  • 最近情况(投简历、复习、面试)

技术面

技术面都是技术问题+编程题,技术问题答得一般般,面试当天是周五,上午一面晚上二面,那周前几天已经面试了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的点后以这个点作为正方形的左上角,扩展正方形,同时计算最大面积

综面

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

  • 问简历上的项目,更侧重对业务的提问
  • 日常学习方式(看书、刷题),为什么要刷题,觉得有用吗
  • 上一段工作中的收获
  • 期望薪资
文章目录
  1. 1. 笔试
  2. 2. HR资面
  3. 3. 技术面
  4. 4. 一面
  5. 5. 二面
  6. 6. 综面