首页 > 双非本三,记录4月份到8月份的面试情况,已经确定签约字节跳动

双非本三,记录4月份到8月份的面试情况,已经确定签约字节跳动

2021年8月21日更新

这将会是一篇比较长的文章,我想记录一下从四月份到8月份的面试情况,会尽量客观的描述面
试中的体验,各家公司在面试过程中的侧重点以及我自己的感受,希望能够帮到有需要的牛油.
------------------------------------------------------------------------------------------------------------------------------
先说一下我自己的情况,楼主是18年本科毕业,先是在济南传统行业工作一年半的时间,在20年
4月份来到北京一家网络公司从事云计算相关业务的开发,在21年4月份开始看机会,截止到21年的8
月15日大约四个月的时间,共投递17家公司面试达45场.由于楼主平时工作也比较忙,所以这段时间
几乎是利用了所有能利用的时间,最终收获5家offer,分别是知乎,滴滴,京东,商汤,字节.接下来我会根
据时间顺序描述一下我的面试过程仅供各位牛油参考.(技术栈是java)
各位有什么问题可以评论或者私信我,仍然是知无不言.
------------------------------------------------------------------------------------------------------------------------------
4月份:这段时间主要是在熟悉流程和查缺补漏
4月21日滴滴国际化一面(70***要技术栈是PHP和GO,做web服务器的开发,业务上主要是
海外的外卖和打车业务.
[1] 项目介绍一下
[2] redis常用数据结构
[3] HTTP请求知道吗 get和post的区别,哪一个带参数
[4] 状态码
[5] 快排说一下
[6] 智力题:十亿个数求第七亿个 (快排思想)
[7] HTTP头内容
[8] coding:求质因子

4月23日理想汽车一面(15分钟),技术栈主要是java,比较倾向与spring框架相关的内容,主要再招
有足够经验的专家岗位.在boss直聘面试
[1] 项目介绍一下,如何保证服务可靠
[2] 线程池介绍一下,拒绝策略
[3] 线程间通信
聊完这几个,面试管就觉得不是太匹配,经验还不足,所以表示歉意结束了面试

4月25日陌陌质量检测部门一面(50min),技术栈是C++,音视频相关,牛客网面试
[1] 指针和引用,引用能改变指向吗,深拷贝拷贝构造函数
[2] STL用过吗,map是什么,C++有hash的结构吗,set有序吗,我有10000个带权重的键值对,
想拿到最大7个用什么容器,怎么用,底层什么结构,说下你知道的编译器的hash原理,知道其他语
言和组件的实现吗(java和redis)
[3] redis你们是怎么用的?(sentinel)说下常用的组件,哨兵模式下主挂了是怎么恢复的,说
下哨兵选举流程,说下复制流程
[4] redis快的原因是什么,reactor是怎样的一种模式,select和epoll说下区别,说下epoll快的
原因
[5] 说下你对kafka组件的了解,你们怎么保证数据可靠的
[6] C++多线程库用过吧,锁一般怎么用,wait和notify,读写锁优先级问题,是不是公平的
[7] 讲一下项目吧,一些细节,可靠性怎么保证,怎么保证消息可靠和服务可靠,集群一致性
[8] coding:带优先级括号的有效性{[()]}
4月28日美团企平一面(70min),企业内部服务和应用,美团一面就是非常有经验的看起来年龄偏大
的面试官,面试难度较大,会有压力面,在牛客网面试
[1] 项目介绍,死扣细节
[2] redis用的哪些结构,SDS和C字符串的区别
[3] ziplist的结构,zset用在什么地方,big key问题遇到过吗
[4] 项目中遇到的一致性的问题,kafka的rebalance流程
[5] .项目中遇到锁了吗,简单说一下
[6] coding:一道二分变形的题目,要求10分钟ac

4月30日陌陌2面
具体细节记不太清了,只记得面试挺难的,有很多音视频相关的业务上的场景问题
4月30日高途一面,java技术栈也是web服务器
[1] 项目介绍一下
[2] 线程相关,项目中遇到的线程
[3] ArrayList的删除会有什么问题,应该怎么办
[4] ArrayList的扩容
[5] ArrayList的线程是安全的吗
[6] 知道哪些线程安全容器呢?怎么保证线程安全的,与vector有什么区别
[7] mysql相关,索引,事务
[8] countdownlanch,threadLocal
[9] coding: 无重复字符最长字串
------------------------------------------------------------------------------------------------------------------------------
5月份:5月份总体情况也没有好到哪里去,反倒是一面挂的更多了
5月7日 陌陌三面
5月8日 陌陌四面
陌陌的后两面技术问题就稍微少一点了,聊个人情况还有方法论比较多
5月12日 猿辅导一面,技术栈是java,订单业务相关
[1] 项目介绍一下
[2] redis用到了哪几种数据类型,底层结构了解吗,说下hash和扩容
[3] 说下java的hash,扩容
[4] redis备份的方式,区别RDB和AOF
[5] redis内存快满的时候有什么方式,你们用redis来存储什么内容
[6] mysql相关索引,事务
[7] kafka说下从数据发送到数据消费的流程
[8] 怎么保证发送可靠,你们项目怎么保证
[9] kafka消费过程服务挂了怎么办,kafka怎么保证的,你们的项目怎么保证的
[10] 假如说我想实现一个延迟消费的中间件,你会怎么设计
[11] coding:数组中K个元素迁移
5月12日 老虎集团,面试比较难,算法题目出的出乎意料没有好的思路
[1] 项目
[2] 盗贼分金,博弈论问题
[3] 手写快排

5月12日 UCLOUD总体面试体验不太好,很多网络问题和问题排查问题,没有做好准备,所以没有继续后面
的流程
5月13日 京东金融,京东的面试八股和环境问题解决的考察比较多,没有算法
[1] 项目说一下
[2] java和C++区别,有什么看法
[3] 锁升级,内存布局
[4] 垃圾回收相关问题,垃圾回收算法
[5] localThread
面试官说基础还可以,但是技术栈确实不匹配,所以无法继续下去

5月19日 高途一面(换部门面试)70分钟
[1] 项目说下,有一些疑问,稳定性怎么保证的,可靠性怎么保证,怎么保证消息可靠
[2] redis说下基本类型,有序列表底层是什么
[3] 过期键的清理方式
[4] redis快的原因,集群的路由方式
[5] kafka可靠性的原理
[6] java锁关键字和重入锁,区别
[7] 说下AQS相关的锁原理,ConditionObject了解吗,条件队列的协调性
[8] threadLocal
[9] NIO,BIO,AIO
[10] coding:二叉树题目,两个节点的最近父节点

5月26日 好未来 一面
[1] 第一份工作的项目介绍一下
[2] 第二份工作的项目介绍一下,可靠性保证的机制,超时重传,全同步,异常恢复机制
[3] kafka的组件介绍一下,原理介绍一下,broker,consumer,producer
[4] kafka可靠性保障的手段,broker的复制手段,磁盘写入
[5] java内存模型,说下各自的作用
[6] 面向对象三大特性,C++和java都说一下,C++多态和java多态的区别,内存模型上的区别
[7] tcp-ip协议可靠性的保证
[8] tcp-ip的拥塞控制说一下
[9] time-wait说一下
[10] RPC和restful的区别有了解吗,RPC有什么优势吗
[11] coding:two sum

5月31日 好未来 二面
[1] 项目相关,三个问题:遇到的最难问题,怎么解决的,有什么收获
[2] 客户说你们的接口很卡,怎么排查
[3] coding: atoi(难顶)
[4] 智力题 25匹马 5个赛道,问赛几轮可以求出跑的最快的三匹

------------------------------------------------------------------------------------------------------------------------------

6月1日 好未来 HR面试

6月2日 美团优选一面
[1] JVM调优
[2] kafka死信队列
[3] 线程池,你们平时用的什么线程池
[4] redis有序集合底层是什么结构?为什么用跳表不用B+tree
[5] JVM调优用过吗,参数了解吗
[6] redis备份用过吗,你们用的什么,为什么选这种方式
[7] coding: 字符数组的最长子串

6月4日 商汤科技 一面,商汤面试也没有coding
[1] java多态的体现
[2] java相关锁,锁升级,aqs相关,threadLocal相关
[3] hash的理解,其他语言和开源组件的实现方式,扩容相关
[4] list和vector的区别,写时复制容器,有什么问题
[5] 数据库索引
[6] Spring IOC和AOP AOP可以用在什么场景
[7] 慢查询的处理
[8] HTTP的命令吗
[9] 你们的分布式项目是怎么做负载均衡的

6月10日 商汤科技二面 70min
[1] 项目相关,很细致,每个项目都有四个问题
[2] kafka高吞吐量的原因
[3] 顺序写磁盘为什么比随机写快
[4] 说下C++和java区别
[5] 平时怎么学习的
[6] 技术选型上为什么使用kafka而不是其他的
[7] 除了借用kakfa的属性有没有其他的可靠性的手段

6月18日 百度 企业智能平台一面
[1] 项目介绍一下
[2] 反射说一下,作用和使用场景
[3] JVM介绍一下,为什么删除永久代转用原空间
[4] 线程相关,start与run,callable与runable
[5] 类加载原理,双亲委派机制说一下,为什么有时候要破坏双亲委派
[6] 各个类加载器有什么区别
[7] redis清理缓存的机制,过期键处理策略
[8] 锁升级说一下,偏向锁升级轻量级锁会发生什么
[9] 内存溢出与内存泄露的区别
[10] lambda表达式有了解过吗,有什么优势呢,清楚具体的原理吗
[11] comparable与comparator

6月21日 知乎一面 商业化
[1] 面向对象三大特性
[2] 线程构造方式 等等java基础相关,涉及容器,线程
[3] 数据库相关,索引,事务隔离级别,分别解决了什么问题,举例说明
[4] 项目说一下
[5] IOC,AOP
[6] mybatis
[7] 最近在看什么书籍呢

6月21日 知乎二面 商业化 30min
[1] 介绍项目,可靠性,横向拓展,高可用分别怎么实现的
[2] 项目迭代怎么进行的
[3] 代码review主要关注什么内容
[4] 如何做到的性能监控,CICD怎么构建的,主要有什么项目
[5] 既然用到了redis,说下redis备份的方式和区别,缓存数据库双写一致性怎么保证的
有没有好的方案
[6] coding:二叉树节点有正有负,求和等于target的路径
6月21日 百度二面
[1] 项目介绍一下,可靠性保证的机制,超时重传,全同步,异常恢复机制,部分同步
[2] 线程池用过的吧,参数说下,拒绝策略说一下
[3] 数据库索引相关,举例了几个场景,说明是否需要使用索引,从数据结构的角度分析一下
面试官接了电话,可能有问题需要处理,随即结束面试

6月23日 京东商城一面 中间件团队
[1] 项目相关
[2] java 线程池参数
[3] object函数
[4] spring cloud ,dubbo了解吗
[5] redis基本数据结构

6月25日 滴滴一面
[1] 描述一下项目
[2] 做题,两个线程顺序打印
[3] synchronize原理,说下锁升级,锁能降级吗
[4] aqs了解吗,说下加锁的流程
[5] synchronize和可重入锁怎么选择,性能上呢
[6] 事务隔离级别说一下,默认是什么呢
[7] 事务隔离的场景,说一下原理
[8] @transaction的原理,注解失效的情况
[9] 垃圾回收算法说一下,CMS用什么算法,具体流程说一下,CMS怎么处理内存碎片,两个配置
[10] mysql乐观锁,fail-fast

6月28日 知乎三面 知乎商业团队,类似于中台的核心项目,为其他项目提供商业能力的支持 一个小时
[1] 项目说一下
[2] 你们的架构是怎样的
[3] 网络拓扑是怎么构建的,数据量怎么定的
[4] 数据恢复怎么做的,可靠性消费怎么保证的
[5] 团队是怎样的多少人
[6] 怎么做性能测试,CICD怎么构建的
[7] 团队分布是怎么样的,大约多少人写代码,需求怎么进行评估的
[8] 了解微服务吗
[9] 反问环节
------------------------------------------------------------------------------------------------------------------------------------------
7月份
7月7日 猿辅导 保密项目 一面 60min
[1] 做道题目先,K个节点反转链表(7min秒),但是细节上可能有些没有处理好
但是题目本身不难,面试官也没纠结
[2] 线程池说一下,说一下提交任务后的流程,有几个细节面试官扣了一下
[3] 当消费比生产慢的时候怎么处理,说了一下自己的想法
[4] 说一下JVM,说一下你们使用的垃圾回收器,说一下你们的优化,这里面试官也
扣了几个细节,穿插询问CMS的流程,算法,内存碎片,几个参数
[5] 说一下G1吧,不是很了解,就过了,就说了基本原理
[6] 说一下redis吧,缓存一致性有没有方案,一致性怎么保证
[7] 缓存清理策略说一下
[8] hash扩容
[9] 联合索引的结构是怎样的呢,不了解,让你设计会怎么设计呢,说了一通
蒙对了
[10] 反问,技术栈,工作内容

7月8日 京东零售一面 40min
[1] java容器
[2] kafka和rocketmq比较
[3] kafka数据主从机制和选举
[4] redis集群原理,哨兵原理,当集群新加节点的时候是怎么避免大量的key更改路由的呢,
不清楚redis怎么实现的,但是方法自然是一致性hash
[5] mysql索引,隔离级别,实现方式,mvcc规则,原理介绍一下
[6] 反问工作内容与技术栈

7月9日阿里云一面 60min
除了有些八股文答不上 阿里的感觉是真的好 背不上来也不纠结 算法也会给提示 最后还祝我生活愉快
[1] 介绍一下项目,数据有效性的保证,
[2] 说一下垃圾回收算法,怎么主动触发垃圾回收
[3] java内存模型
[4] final和static的原理
[5] tcp最后一次握手直接携带数据有什么问题
[6] 算法 二叉树反转,递归 bfs循环 dfs循环 秒
[7] 反问环节,问一下项目和技术栈,具体技术面试管没有说,只说是业内最成熟的解决方案
和阿里内部的中台支持

7月12日 京东零售二面 106min
[1] 跟面试官聊聊项目,一些分布式的讨论,一些增加吞吐量的措施
[2] java基础,容器,多线程,面试官问我spring的注解,这个没有答出来
[3] 线程池的内部结构,扩容,内存泄漏
[4] java和C++的区别,C++11的特性,辩证的看一下lambda表达式,优缺点说一下
[5] 项目里面一致性的保证,为什么不用zk
[6] 说下JVM参数吧 说下你们的调优过程
[7] 线程池队列大小怎么确定呢

7月12日 京东零售三面 15min 看样子是其他部门的leader做的交叉面
[1] 死锁,有没有遇到过
[2] kafka和rocketmq的区别,这个给自己挖坑了
[3] 生活上的一些琐事,啥时候毕业的,怎么转的语言

7月19日 阿里云二面 60min
[1] 线程池知道的内容说一下吧,线程池的内存泄露知道吗(不清楚),拒绝策略说一下
[2] 说下JVM的优化,到这里已经过了20分钟,还提了晋升老年代
的场景
[3] 用过GRPC吗,如果让你设计一个GRPC的框架你会怎么处理
[4] java同步的机制说一下
[5] 数据库索引相关,设置索引的原则
[6] 项目说一下吧,,可靠消费怎么保证的,kafka内部有什么措施 (又过了10分钟左右)
[7] 做题,按照给出的字符串的顺序构建一个二叉树,要求10分钟内写完,直接秒
[8] 做题一个链表的节点实现两两的位置交换,不能只换值,要求递归+5分钟内写完,
直接秒,细节上出了一点问题,面试官看了一眼不满意我马上改掉了
[9] 反问团队工作内容,说是每天上百亿的访问量,要提供可靠异常的服务,感觉项目
非常难。
阿里的面试每一面都是项目+技术知识+做题

7月23日 贝壳找房 50min
[1] hashmap concurrenthashmap size方法
[2] kafka和rocketmq比较
[3] kafka高性能的原因,rocketmq的优势
[4] 项目说一下
[5] redis过期键处理策略,线程模型
[6] kafka与zk,为什么后面弃用zk了
[7] jvm参数,说一下调优过程,说一下CMS与G1

7月28日 字节跳动 抖音直播 50min
1.项目说一下,kafka消费的可靠性怎么保证的
2.想问C++,但是我表示这次主要看java的机会,就没有聊语言
3.LRU,怎么实现的
4.数据库事务原理怎么实现的,分别说一下
5.数据库索引说一下,hash索引用在什么地方了
6.索引设置原则
7.做题一个链表由1-2-3-4 =》 1-4-2-3
比较简单,就是写了挺长时间,因为步骤比较多
写完说一下思路,时间和空间的复杂度

7月28日 美团优选 一面
[1] 项目说一下,问了几个问题
[2] 线程池相关,线程池的原理,如果有核心线程idle了,又来了任务,是唤醒
idle的线程还是起新线程,为什么
[3] 线程池参数都解释一下,说一下线程池参数怎么设置呢
[4] 队列用的哪一个,为什么,有size的阻塞队列,防止OOM
[5] JVM说一下原理?(蒙了什么原理)就说了JVM的垃圾回收,程序是怎么跑起来的
[6] 堆和栈的区别,栈上怎么确定堆的地址的
[7] 数据库说一下,索引有什么类型,分别适合用于什么场景
[8] 分布式锁 setnx 的原理,redis还有其他的分布式锁吗
[9] 写题写一个懒汉的单例,解释一下双重检查分别为了什么,写的好像有错误
[10] 二分原理说一下,写一个二分查找然后跑起来


7月30日 字节跳动抖音直播二面 60min
一开始网络不好,调试了一阵
[1] 项目介绍一下,问几个问题,时间比较长
[2] redis持久化方式,你们采取的那种方式,两种比较一下
[3] mysql的log说一下,作用都介绍一下,事务,mvcc,回滚
[4] 做一道题吧:两个节点的最近父节点,细节上出了一点问题,这里不太好
[5] mysql的各种log操作的级别
[6] mysql索引说一下
[7] 设计方案的题目:设计一个爬虫调度器,有1w个代理ip,每个ip被限制1s内最多访问一次,
在单机场景下,如何合理调度ip,使得爬虫吞吐最高并且性能最高?
[8] 补一道题:回文子串

----------------------------------------------------------------------------------------------------------------------------

8月3日 滴滴国际化一面 60min
[1] 项目说一下,可靠性消费,横向拓展是如何实现的
[2] 打家劫舍
[3] 大数求和
[4] 多个人脸特征值,如何很快的得到特征值最相似的

8月4日 字节跳动抖音直播三面 90min
面试压力略大,有些压力面的成分,时间很长,面试官会不断push
[1] 项目介绍一下,可靠性消费的保证,横向拓展是如何实现的
[2] kafka怎么保证顺序的,底层是怎么出现的,你们项目的上层应用是如何
实现的
[3] kafka的高可用是怎么实现的,高水位
[4] 某个broker挂掉了可能会导致什么问题呢,rebalance
[5] 可能会丢失数据吗
[6] kafka数据堆积可能出现在什么地方
[7] 分布式事务怎么实现,缓存一致性有没有方案
[8] redis的高可用
[9] redis的备份
[10] kafka高性能的实现,redis高性能的实现
[11] redis线程模型
[12] 算法,三数之和要求ac
[13] java内存模型,程序计数器的作用
[14] 垃圾回收
[15] 怎么实现一个rpc,如何设计异常类,哪里该抛出异常,哪里该处理异常
[16] 抽象类和接口怎么选择

最后在8月6日有事回家一趟,在高铁上收到了字节的offer,至此结束了所有的面试流程.这中间
还有几个面试过程我觉得没有代表性所以就没有记录.

-------------------------------------------------------------------------------------------------------------------------

就我自己面试过的公司和面试过程的感觉来看,可以把面试的难度大体分为三个档次,其中我认
为难度最大的是字节和阿里,可以认为是第一档.字节非常注重算法和方案设计的题目,八股和
算法考察还不是特别深入,字节的难点主要在于,每一面都会有至少是中等难度的算法题并且可
能不止一道,算法只要没有思路或者做不出来就有可能挂;

相对而言,阿里的算法考察不是特别难,更注重数据结构相关题目的考察,阿里的难度在于基础知
识和方案设计,阿里考察基础必然会问道候选人回答不出来,以此来考察候选人的深度.并且阿里
的流程比较长,也没有反馈,我们通过阿里的社招热线来确认自己的面试状态,这个还是非常方便
的.

那么难度的第二档我认为要给到滴滴和美团,百度,京东和商汤;滴滴美团算法考察不是特别困难,
比较喜欢单例,多线程和一些基础算法的考察.基础知识上也是主要考察最常见的那几个题目,基
本都在复习范围内的.百度,京东和商汤面试过程中没有涉及到算法题的考察,大部分都是基础知
识和方案设计.


更多模拟面试

全部评论

(8) 回帖
加载中...
话题 回帖

推荐话题

相关热帖

近期热帖

近期精华帖

热门推荐