一份让你面试成功率加80%的面经你看不看?985大佬分享自己的字节三面面经!

前言

感谢字节的不离不弃!!!还愿博客!!!半年多的秋招终于结束了
自我介绍一下:
本科双非,研究生211,除了学校的课程设计和两个毕设几乎什么其他的项目都没做过,自认不是技术大牛,普通的一名研究生

(由于面试过很多次,前面两面就不分开写了,写一些我记得的问到的知识点,第三面单独给个排面,把感觉和前两面不一样的地方写出来)

一面、二面:

  • 进程、线程相关(区别、如何传递消息、还会涉及到jvm内存的五个模块)
  • 线程同步、锁相关(可能会问一些比较细节的东西,要知道一些原理方面的知识,有源码基础会好一些)
  • 集合(线程安全的集合有哪些、是怎么实现的、hashmap的实现的原理、还有被问到Arraylist的扩容、linkedlist底层是怎么实现的、还有concurrenthashmap是怎么保证同步的)
  • 多态的实现原理(动态代理)
  • String的底层是怎么实现的(个人感觉是想听到final数字吧)
  • 虚拟内存(我不记得哪里问了,但面试官说问了,可能是我太菜了吧,没听懂问题)
  • http与https的区别、https加密方式
  • 网络的模型(OSI和TCP/IP的联系)
  • 发送www.baidu.com会有哪些操作,使用哪些协议
  • tcp和udp的区别,tcp怎么保证可靠性的(相关的协议、算法,为什么三次握手、四次挥手都有提到)
  • DNS协议是怎么实现的用到了什么协议(这个我是一脸懵逼,就说DNS底层实现是UDP其他的我也就不清楚了)
  • 数据库索引结构、事物以及事物的隔离性
  • 了解的设计模式(单例模式的双重校验锁并且会问为什么会有volatile、为什么会有两个判空、不加volatile行不行)
  • 内核态和用户态的区别
  • 中断了解多少(上面有提到中断)
  • IO、socket都会问到

三面:

  • (虽然参加过很多次面试,但只有两次三面,所以不多)
  • 会问项目(我个人说的是毕设,然后会根据你说的项目的某个点一直问,问到你不会或者没啥问的了为止)
  • 数据库设计:实现一个二级评论的功能,可以根据时间和热度进行不同的显示
  • 并查集的考查
  • 会问一些怎么去学习呀、遇到什么难题怎么解决之类的问题
  • 感觉三面更看重的是项目相关的一些东西,从中会体现出学习能力、学习方法之类的东西,也会问一些数据库系统设计相关的题目)

手撕代码:

  • (时间太长记得不多,就是多刷了几遍《剑指offer》和牛客上的高频题,leetcode有时间也可以刷一刷)
  • 实现大数的求和
  • 实现线程安全的单例模式
  • 找出有序数组中两个数的和
  • 将空格替换成%20之类的

小结

  • 这一圈面试下来,就是觉得首先得把计算机的基础知识(计算机网络、操作系统、数据库、设计模式、Java基础(我个人是java方向)、多线程、算法)都要尽可能多尽可能深的了解,不然很容易被问住
  • 我的面试有的是三面连着一天就完成了,有的是三面都是分开的,所以不连着不一定就是挂了,有可能是面试官时间上安排冲突,面试官的态度都很好,也很专业,HR也特别的棒,字节的反馈也是很快的,从面试到offer也就一周半的时间
  • 期间收到过很多封感谢信,感谢自己没有放弃,也感谢字节不嫌弃,可以让我一直有被捞、面试的机会,感谢牛客这个平台,给了我很大的帮助

最后

祝大家都拿到称心如意的offer,也祝大家前程似锦

最后我为大家准备了一些Java架构学习资料,学习技术内容包含有:Spring,Dubbo,MyBatis, RPC, 源码分析,高并发、高性能、分布式,性能优化,微服务 高级架构开发等等
有需要的朋友关注公众号:前程有光回复资料领取
在这里插入图片描述
在这里插入图片描述

你可能感兴趣的:(面试java程序员后端面试技巧)