2021年秋招字节跳动四面总结,部门java后端基础架构,本人已成功拿到意向书

前言

base杭州,整个流程包括周末下来10天左右,因为没有录屏做记录,所以很多问题给忘了,只记得部分。
大部分时间是在聊实习经历和项目,其他问题问的不多。

8.27 一面(70分钟)

  1. 实习业务相关
  2. lvs四层转发和nginx七层转发的区别?
  3. 为什么要有lvs四层转发?
  4. close_wait和time_wait是什么?为什么要time_wait?
  5. 499和502出现的原因是什么?
  6. session和cookie区别,解决了协议的什么问题?
  7. 转账过程中,会出现什么事务的问题?
  8. from_count -> to_count,to_count是热点用户,可能有多个请求要修改,怎么处理?
  9. 什么场景需要建立索引,为什么要建立索引?
  10. 排序数据要建索引吗?范围查询要建索引吗?txt文本数据要建索引吗?
  11. 用户id怎么生成?(DB自增不可靠,因为可能有多个机器共用一个DB,自增会溢出。从代码层面解释如何生成)?
  12. 怎么保证DB里面的数据不会被修改(权限问题不考虑,假设用户有权限)?
    算法:任意三个数之和最接近0

8.31 二面(60分钟)

  1. 实习经历(20分钟)
  2. 三次握手具体过程(要说自己的理解,不能直接背),seq可以从0开始吗?
  3. 数据库索引引擎为什么用B+树,和B树区别在哪,为什么不用红黑树/AVL树(从磁盘IO,查找稳定性,数据量去分析)?
  4. B+树的双向有序链表有什么用?
  5. 进程和线程机制上的区别,应用上的区别,线程共享/独有的,进程通信方式(一个一个往后推理,为什么要有这个)。
  6. 线程和goroutine的区别,为什么协程比线程轻量级?
    算法:lc124. 二叉树中的最大路径和

9.1 三面(60分钟)

  1. golang,defer的底层执行过程,顺序是怎么样的,多个defer执行顺序
  2. 实习项目,开发流程,遇到的问题(20分钟)
  3. golang的slice扩容原理(顺带提了下vector的扩容)
  4. 网络IO模型有几种,分别是什么(阻塞IO、非阻塞IO、IO多路复用、信号IO、异步IO,详细介绍)
  5. socket编程的流程(服务端、客户端)
  6. session和cookie
  7. 进程和线程在应用上的区别,机制上的区别,什么场景选择哪种,为什么?

9.6 四面(45分钟)

  1. 实习项目(20分钟)
  2. C++和golang在并发场景下的应用区别
  3. socket编程心得
  4. 个人项目(问了个RPC框架)
  5. 算法:
    (1)合并两个有序数组(简单)
    (2)找一个数,它两边的数都比它大(二分查找变种)

面试完隔天,也就是9.7号,HR联系发意向书,当天中午收到意向书。

小结

面试的大部分时间在聊实习经历(我在腾讯云有过一段实习经历,做cdn),和基架那边的业务线有些关联,所以聊得来。然后大多是一些开放性的问题,不是那种八股直接背出来就行的,我这里列的问题可能不全,但每个问题面试官都会追问。二面后问面试官表现怎么样,他说底层技术知识还是不错的,不会停留于表面,因此面试问到不会的可以尝试和面试官讨论下,不要停留在背八股的层面。

面经(面试题总结)

最近金九银十我为大家整理了好多资料,这些资料的内容都是面试时面试官必问的知识点,篇章包括了很多知识点,其中包括了有基础知识、Java集合、JVM、多线程并发、spring原理、微服务、Netty 与RPC 、Kafka、日记、设计模式、Java算法、数据库、Zookeeper、分布式缓存、数据结构等等。

最后

由于平台限制,不能以图片的形式一一展示了!基础的东西就不进行过多的赘述,我们将会从面试必问的说起,基本上文档里面的内容都是打出面试必问的技术点和面试真题整理而成,大家拿到手后建议直接去把真题做一下,有需要的朋友点击这里自取就好了,希望资料对你有帮助!大家一边练手一边考证一下自己的技术水平,全部做完之后再去看面试题解析和技术点讲解,这样的学习效率是非常高的!最后祝大家工作顺利,面试成功!

猜你喜欢

转载自blog.csdn.net/weixin_45127309/article/details/121318544