字节九面终上岸,成为打工人的总结,辛酸面经分享

前言

今天分享一位小伙伴9面字节的经历,我都有点佩服这位小伙伴的心态。

这位小伙伴基本是从春招就开始面试字节了,直到秋招结束。拿下offer之后也是朝我一把鼻涕一把泪的分享。

话也不多说,直接分享一下小伙伴的经历吧!

 

一面

  • Session存在哪里,怎么把session_id返回个客户端?
  • Redis的数据结构,它有哪些复杂数据结构?
  • Http与Https的区别,详细描述加密非对称加密的过程
  • 线程与进程的区别?
  • IO多路复用
  • redis服务端是多进程还是单进程,多线程还是单线程
  • top loadaverage怎么计算的
  • hashmap解决冲突的方式
  • 数据库的事务,什么是幻读?事务是怎么实现的
  • linux的命令,如何查看服务器负载?
  • 算法题

一个长度为n的数组,元素在1到n之间,找到一个重复的元素,空间复杂度越低越好

二面

  • 如何查看端口占用情况
  • 如何查看远程服务器某一个端口被占用
  • 可以ping通,当时客户端连接不上服务端,什么原因
  • 算法题
    1.最长不重复子串;
    2.找比当前数大的下一个数,如1243,结果是1324;
  • 数学题
    1.有三个盒子,其中一个有奖品,参与者选中一个后,主持人打开另一个盒子没有奖品,问参与者是否换盒子,换与不换的中奖概率是?

三面

  • 操作系统包括哪些部分
  • 如何进行内存分配
  • 进程切换发生哪些事情
  • fork函数
  • 项目:分布式如何扩容缩容
  • 算法题
    1. 给定一个升序数组,一个target值,找比target小的最大数字(类似于升序插入排序的一个步骤)
int begin = 0;
int end = arr.length - 1;
int mid = 0;
while(begin < end){
   mid = begin + ((end - begin) >> 1);
   if(arr[mid] < target)
     begin = mid + 1;
   else
     end = mid;
}
//end = mid 肯定会更新,但是begin = mid可能就不会更新,必须要begin = mid + 1,推进区间的收缩

苟到三面的时候因为太菜被挂了,随后就被hr告知又被国际部门捞了🤣。

 


被捞一面

  • 1.http keepalive、tcp keepalive
  • 2.MQ作用、原理以及主要组件
  • 3.kafka了解吗,各个MQ的对比
  • 4.RocketMQ中topic、queue的具体含义
  • 5.集群消费、广播消费
  • 6.protobuf作用
  • 7.为什么项目里要用protobuf,protobuf 的好处
  • 8.市面主流的RPC框架了解多少
  • 9.项目中RPC框架中怎么定义协议的
  • 10Redis持久化方式
  • 11.Redis单进程还是多进程??我印象挺深的,为什么面试官要说单进程而不是单线程
  • 12.Redis集群策略、分槽
  • 13.Redistribution集群中不同节点如何通信
  • 14.Gossip协议
  • 15.跳表结构
  • 16.算法题

1.带有随机指针链表的深拷贝

被捞二面

  • 1.削峰
  • 2.多级缓存一致性
  • 3.延迟双删解决主从Redis节点的数据一致性
  • 4.秒杀项目中缓存预热
  • 5.队列泄洪
  • 6.MySQL事务
  • 7.Docker
  • 8.dubbo服务发现
  • 9.注册中心服务判活
  • 10.负载均衡策略
  • 11.哈希一致性
  • 12.Linux查看具体端口是否被占用
  • 13.思考题:2000w高考成绩(有大量相同数据),无内存限制,要求O(n)时间复杂度排序。    【当时说用桶排序,只要同桶的数量趋近于高考人数,就可以做到O(n),事后才想到可以用Trie树,有点可惜】
  • 14.算法题:

1.链表节点两两反转

2.链表n个节点为一组反转

被捞三面

  • 1.项目中限流怎么做的
  • 2.令牌桶原理、数据结构??数据结构这个我是真的懵了,后来想可以用一个volatile自增字段+阻塞队列实现
  • 3.MySQL乐观锁悲观锁以及对应的sql语句
  • 4.数据库隔离级别
  • 5.dubbo的好处
  • 6.算法:

1.删除字符串中 ab,保证最后字符串没有连接的 ab,例 aaabbb

这次面试应该是部门领导人,讲真,这次面试体验真的不太好,整个过程加撕代码只进行了35min,感觉面试官全程都在看简历+写面评,基本没在听说啥,以至于有好几次说完之后都会有至少15s的冷场,哪怕面试官嗯一声给个反馈也好啊😥,所以最后这场面试是铁挂了,但还好赶上了提前批

 


提前批一面

  • java GC
  • java内存模型
  • 进程、线程
  • 线程切换代价为什么小——除了共享内存外线程切换并不会清空CPU和主存之间的缓存
  • 线程状态
  • 线程什么时候挂起
  • 死锁必要条件、如何避免死锁
  • 进程间通信
  • OSI七层模型
  • http常用方法
  • post请求返回的100状态码是协议规定的还是浏览器规定的
  • MySQL存储引擎、区别
  • 两用引擎优势
  • 联合查询
  • 查询优化器
  • Redis基本类型
  • Redis zset怎么实现
  • Redis持久化方式
  • 全量复制、部分复制
  • 复制积压缓冲区
  • 算法题:

1.买卖股票二

2.买卖股票三

 

提前批二面

  • 缓存作用
  • 分级缓存如何保证数据一致性【面试官一直深入分级缓存的数据一致性,比如什么时候删除脏数据、Redis主从部署怎么保证之类的,总之问的挺深,面试官逻辑非常缜密】
  • 分布式锁的实现、原理
  • 序列化反序列化
  • 如果自己实现序列化该如何操作,假如有一个int类型,你如何序列化为字节流
  • 序列化如何支持跨平台
  • TCP流量控制、拥塞控制
  • TCP流量控制是通过接收端发送带有接受窗口剩余大小的ACK来实现的,那么如果接收端的TCP没有CPU调度会发送ACK吗,会不会因为接受窗口满了并且不能及时发送ACK导致数据丢失【这个问题讨论了好久,不得不说,这个面试官真的好】
  • 数据库隔离级别
  • MVCC
  • InnoDB索引实现
  • 联合索引
  • MySQL字段类型的长短会对性能有影响吗
  • 前缀匹配
  • 算法题:

1.走格子

2.走格子+陷阱

3.走格子,每个格子有血包或者怪物能让自己加血扣血,问走到右下角至少需要多少血量 ,可以从右下到左上的逆向dp,并且dp[m][n]=0作为初始条件 【当时觉得面试官想象力真丰富,能想到这么生动的算法题🤣,好像叫地下城与勇士🤣。】

4.如上题条件,给定一个初始血量,判断能否到达右下角

 

提前批三面

  • 为什么要实现一个RPC框架  
  • 问什么不用本地调用,而要用微服务    (为什么?因为简历上没微服务过不了初筛啊🤣)
  • 微服务的好处
  • 微服务网关模块的具体逻辑,为什么要用网关  
  • 网关模块怎么可以保证整个系统的安全性
  • 微服务的业务模块拆分,为什么要这样拆分    
  • 对称加密、非对称加密
  • MD5是对称加密么  (这部分答错了,有点可惜)
  • 项目中怎么用MQ的
  • 算法题:

1.输入n,k,输出n的字典序的第k位数字,若n=15,k=7,1 10 11 12 13 14 15 2 3 4 5 6 7 8 9,输出15     

    这道题浪费了好多时间,刚开始还傻乎乎的重写Comparactor+StringBuilder来定义字典序,然后转化成topk问题解决,面试官说还有更优解,当时一直没想出来,也浪费了好多时间,最后面试官可能有事吧,等到1h时候面试官说可以了,今天面试先到这里吧,然后就挂了。。。事后才知道可以用Trie树或dfs直接找到第k个数,然后就感觉特别可惜,因为觉得自己前半段发挥挺好的,就因为这道题,以至于颓废了两三天,但最后结果还是好的,三面四天后收到了部门的意向书🤣

 

最后

字节面试贯穿了小伙伴整个2020。最终相信, 绝大数情况下,坚持一定可以胜利!努力就有回报,加油!

最后将小伙伴的学习资料分享给大家

    免费领取资料:戳这里免费领取,暗号:CSDN 还有更多大厂面试题哦!

读者不点关注,诶,我一点也不慌,他皮任他皮,先和他们交流一波,哎哟,被喷了,喷他?不存在的,我反手给他道一手真挚滴歉,看读者怎么说,诶,这就很舒服。评论区要炸?问题不大,我先每一条都点个赞边缘OB一波,评论区怎么说。哟,这个人铁头娃,很有灵性,好像真的要炸。我头皮发麻了,但我不怕,这时候就要逆向思维,免费送他一份学习资料,这波不亏,你以为呢?堂堂nice博主会怕你个评论区?我心态很好,一点事都氵

以上资料免费领取:戳这里免费领取,暗号:CSDN

 

  • 9
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 13
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值