工作两年,社招Java岗位热腾腾面经出炉

(尊重劳动成果,转载请注明出处:https://yangwenqiang.blog.csdn.net/article/details/105317442冷血之心的博客)

背景

博主硕士毕业,18年3月毕业入职小米,任职Java开发工程师。在2017年参加的校园招聘中也曾拿到多家大厂的Offer。目前工作已满两年,于2020年3月开始开外边的机会。这段时间进行了一些面试,下边和大家进行一个面经分享。

在Boss上投递了今日头条的Java开发岗位,话不多说,约好时间就开始了视频面试。

第一轮面试:一个小时45分钟(累…)

首先是自我介绍,然后针对楼主简历上的项目进行了项目的了解于提问。然后是基础知识提问,手撕代码环节。下边介绍面试官考察的知识点:

  • 对象一定分配在堆栈对象不一定分配在堆上,JIT可以实现栈上分配
  • JMM内存模型
    • 原子性,可见性,有序性如何保证
    • 工作内存与主内存
    • volatile,重排序举例
  • synchronized和Lock的区别
  • synchronized内部实现,偏向锁,轻量锁,重量锁
    • 为什么需要自旋?
  • HashMap,HashSet,TreeSet,ConcurrentHashMap
  • Spring事务是怎么实现的?
  • 类加载机制?
    • 双亲委派机制
    • 自定义了一个String,那么会加载哪个String?
  • HTTPS和HTTP区别?
    • 非对称加密有哪些缺点?
  • XSS和CSRF攻击
  • NIO,Linux网络IO模型五种
  • Redis持久化
  • MySQL隔离级别,一致性视图,undo log,redo log和binglog
  • MySQL索引结构,回表,最左前缀原则
  • 不使用第三个变量交换a和b的方式
  • 算法题目一:a+b+c=0
  • 算法题目二:链表倒数第N个节点

第二轮面试:一个小时15分钟

经过了一轮面试对基础知识点的狂轰乱炸,二面面试官主要考察对于项目的理解。涉及到的知识点如下:

  • 多个项目的技术架构,不是业务架构
    • MySQL,Redis,Nginx,Kafka这些技术架构
  • 项目技术点,学到了哪些?也要具体知识点。
  • MySQL中为什么是最左前缀?
  • 有没有接触过一些自动熔断工具
  • 502可能的原因有哪些?
  • 线上问题怎么排查?Full GC频繁怎么办?
  • 服务的QPS,数据库的架构和版本。
  • SpringBoot的优缺点分析
  • SpringBoot的启动源码分析
  • 服务的部署方式?
  • 算法题目:按照之字形分层遍历二叉树,要求bug free,并且构造二叉树进行测试。

第三轮面试:45分钟

进行了一轮面试官对我基础知识的肯定,二轮面试官对我业务逻辑和处理问题能力的肯定。三面面试官主要考察一些开放性系统设计类型问题,涉及到的知识点如下:

  • 项目介绍,从技术点和安全方面的考虑。
  • 有研究过哪些算法?
  • CAP理论的理解
  • 如何设计实现中国象棋?
  • 如何设计一个排队系统?
  • 平时都是怎么学习的?最近都在关注哪些技术?为什么?

HRBP面试:30分钟

HR面试主要考察了一些个人基本情况以及未来的规划等,涉及到的问题如下:

  • 自我介绍
  • 为什么在看机会呢?在看什么类型的机会呢?
  • 为什么看头条的机会?
  • 你觉得头条是一家什么样的公司?
  • 朋友同事如何评价你?
  • 平时都有哪些兴趣爱好呢?
  • 在原公司最享受的阶段是什么时候?为什么
  • 你对我们的业务方向了解吗?
  • 你对我们的业务方向和技术感兴趣吗?

总结

一面主要是在考察基础知识点的掌握,二面主要是在考察对项目的理解与掌握,三面在考察面向对象的系统设计能力。

怎么说呢?如果找工作之前做了一个比较全面而且系统的总结与复习,我感觉面试过程还是比较顺利的,当然我也是顺利拿到了头条的Offer。

这段时间还在看别家的机会,并且已经拿到了头条,美团,快手以及百度的Offer。有时间继续给大家更新热腾腾的社招Java开发岗位的面经,感兴趣的可以关注哈~

如果对你有帮助,记得点赞哈,欢迎大家关注我的博客,关注公众号(文强的技术小屋),学习更多技术知识,一起遨游知识海洋~

发布了262 篇原创文章 · 获赞 2004 · 访问量 191万+

猜你喜欢

转载自blog.csdn.net/qq_25827845/article/details/105317442