首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
AI 模拟面试
简历
求职
学习
课程
专栏·文章
竞赛
搜索
我要招人
发布职位
发布职位、邀约牛人
更多企业解决方案
在线笔面试、雇主品牌宣传
登录
/
注册
FrancisChoi
华南农业大学 计算机类
发布于广东
关注
已关注
取消关注
@大傻菌:
字节后端24届实习 二面面经(高质量面试,但居然过了?)
字节二面(110+min 高质量面试) 说实话,这次面的问题真的很难,很多问题我都是要提醒一下才能回答上来,场景题很多、还有用场景结合八股的 有点措不及防,答的稀烂 但过了我是不太理解的 ,可能发面经真的有用,来还愿了(已约三面)1、自我介绍2、介绍一下做的比较好的项目(这里我介绍了RPC,被问题狂烂轰炸)RPC项目的问题2.1 问我RPC中的线程模型,比如说主线程、工作线程,这些我是怎么设计的(一个线程池用于IO多路复用监听连接(netty自带),一个线程池用于处理连接的事件循环(netty自带)) .. 这里忘了说设置了一个特定的线程池处理请求的实际逻辑,妈的寄了2.2 又扯到了线程池的参数设置(常规八股)2.3 我看你单机多实例的TPS反而比单机单实例的还低,有思考过为什么吗?(我觉得是因为单机的性能有限制,单实例就已经打满了,再多实例就会多出额外的没必要的开销)2.4 你说单实例被打满,那再按照你的设计细分一下被打满的场景(如何被打满?),在这些场景下的线程池又要分别如何设置(我听不懂题目,他提醒我,从请求的处理逻辑过于简单和过于复杂两方面进行考虑)2.5 为什么采用RPC,而不是采用HTTP(常规八股,可能面试官在想其他问题 丢我一个八股)2.6 我看你使用了nacos作为服务注册中心,那么使用nacos有什么好处呢?(我说我没了解太多,只是用来当注册中心的,所以换了个问题,哈哈 其实只是nacos因为能给定服务实例权重,方便我实现随机权重算法哈哈哈哈哈)2.7 你使用的负载均衡算法(随机权重、一致性哈希),是在哪里负载均衡的(客户端还是服务端)?2.8 随机权重算法的使用场景(我答了有权重)、一致性哈希的使用场景(答了高可用,防止请求打不到实例上;哎我这里的理解有错,应该是防止请求打到不同实例上) 2.9 那么有权重的场景都使用随机权重,其他场景都使用一致性哈希吗?随机权重就会出现请求打不到实例上的问题吗?(我觉得是不会的)2.10 那么我给定你一个场景,各个实例的状态都是相同的(也就是说他们的负载能力、剩余内存大小都是相同的、打在不同实例上的结果也是相同的,他们之间没有任何区别),那么你还会接着使用一致性哈希算法吗?(这个问题其实我当时有点懵,实例的状态相同和我一致性哈希有什么关系,我是为了高可用性啊;最后他说不是什么场景都能用一致性哈希的... 我就顺带回答一句 确实 计算哈希的开销会比随机权重更大) 复盘之后发现,是我对于一致性哈希的使用场景理解不到位...所以导致我对面试官的问题都理解得不清晰2.10 随机权重算法具体如何实现?2.11 如果带权重的话,要如何实现一致性哈希? (我这里真的答得烂透了...没有实际地区分它们各自的适用场景)复盘时仔细总结了一下它们各自的使用场景这里需要实际清楚一致性哈希的使用场景,是为了保证信息相同的请求能够尽量地打到同一个实例上(因为如果请求在实例中保存数据,那实例的不同就会造成取不到这些数据导致错误,这时候就需要数据迁移)(这里没有考虑服务实例之间的数据一致性,有可能它们会进行数据同步也不一定),在集群扩容缩容时,一致性哈希可以减少数据的迁移量,只有一部分的请求会打到不同的实例上。所以一致性哈希适用于需要使用节点存储数据(打到不同实例上会出现不同结果)、并且节点个数会动态变化的场景。 而随机权重算法的使用场景,则适用于不同的服务实例具有不同的负载能力、处理优先级的场景,每个服务实例具有不同的权重(在默认权重下就退化成朴素的随机算法了),请求打在权重较高的实例上的概率会更高。但是随机权重算法没有考虑到数据的迁移问题,所以应该适用于 不需要使用节点存储数据,打在哪个实例上都没有区别 得到的结果都是相同的,但是需要考虑各个实例具有不同负载能力的场景。学生论坛项目的问题2.12 我看你的另一个项目 学生论坛,里面有说到两个定时任务(1、定期批量地将点赞关注数据持久化到mysql中;2、定期刷新帖子的热度,并刷新热帖排行),那么为什么这两个任务要定期呢?批量又是怎么个批量法呢?(常规)2.13 你的帖子内容,具体是如何存放的呢?是直接用mysql存的吗?(提到了使用es,倒排索引,对比mysql的优势)接下来就有点高潮了,直接在这个基础上加了场景题(可能因为我提到了es,借它之手来问我,实际上与es毫无关系)场景题:1、那就说说es,在使用es的场景下,如果帖子存的太多了,那是不是会导致它的性能下降,这时候你会怎么办?(搭集群)2、在搭集群的场景下,如果你想要用es通过前缀查询,查询到热度为top10或者top100的帖子,这里不考虑es实际的底层原理(因为他也不懂),就让你想一想要怎么实现?(这里我以为是问是集群是怎么运作的,答了主从架构,在从节点中各自取top100,再交给主节点进行排序,再取出最终的top100)3、在单机的场景下,你es节点要通过前缀查询,查询到热度top100的帖子,这种算法你会如何设计?会考虑使用什么数据结构?这里要求响应要很快(原本我还以为要考虑字符串匹配的算法、然后再考虑排序的算法;没答上来,他提醒了trie树,但我觉得这种做法会OOM,然后他叫我不考虑内存,在集群架构下可以分摊给别的节点,哎我果然是刷题思维,跟他们这种工作多年相比本质上真的有区别)4、接着上面那一题,如果使用trie树,在一个帖子被点赞、访问时(也就是它的热度更新时),你会如何维护这个trie树?时间复杂度为多少?3、计网3.1 给定你一个场景,发送端和接收端建立了TCP连接,正在传输数据,如果此时接收端进程宕机了(是进程宕机哦),而发送端并不知道,这时候会发生什么样的事情?(一开始回答了保活机制,但被面试官提醒了;然后又回答没有ack 导致发送端阻塞 超时重传;经过提醒才知道原来tcp是由操作系统的协议栈控制的,只要主机没宕掉就仍然会ack...接下来你们自己想咯?)(不过我在看小林coding的时候说 进程崩溃时,内核会自动回收它的资源,所以socket也会被回收,并且发送四次挥手断开连接.. 不知道是面试官错了还是小林错了)场景题又来喽场景题1、如果你要基于TCP协议,传输一个大文件,传输的过程中很有可能出现错误 比如说宕机什么的,现在要你设计一个协议去保证这个大文件的传输,那么这个协议你要如何设计,简单的讲一讲?(很经典的一个大文件上传、断点续传)2、那么发送端要如何知道还有哪些文件段还没发呢?(暗示我的协议缺陷,没有给确认号,但给了不就是类似滑动窗口了?爷不想用滑动窗口,所以还在想别的办法,但他就是想把我拉到滑动窗口)3、说我想得太复杂了,这不就很类似于滑动窗口吗?(我就是不想用滑动窗口啊!)4、说一下滑动窗口的执行流程(这才是你的最终目标吧面试官?)4、Mysql4.1 了解事务的特性吗(常规八股)4.2 你刚才说到了原子性、一致性、隔离性,能具体说明一下是怎么一回事吗?举一下实际的例子(转账例子用一辈子)4.3 刚才说到了隔离性,你知道mysql的最高隔离级别是如何实现的吗?(常规八股)场景题(结合了操作系统)1、如果要你来实现mysql的最高隔离级别,你会如何实现呢?具体说一下场景、具体的语句,要分别如何加锁,加什么锁?(仍然用转账来说明,A给B转账,B给A转账)2、你觉得你刚才说的这种场景会发生死锁问题吗?具体会发生在哪里呢?(转账是有流程的,先当前读自己账户余额,再当前读对方用户余额,再更改账户余额,具体死锁在哪你们自己想)3、要如何解决这种死锁的情况,在代码中要如何编写?(其实我觉得如果根据mysql的锁机制就一定会死锁,不管顺序如何,只要同时转账就会死锁;最后他让我不考虑mysql的锁机制,只考虑普通的锁,那就是操作系统的经典场景)这里是我当时对场景没有思考得太清楚,同时开启转账事务的时候,如果当前读加的是读锁,则死锁会发生在更改余额那里;如果当前读加的是写锁,则读的时候就会发生死锁了,本质上还是操作系统的经典死锁问题,(我太笨比了)5、操作系统5.1 逻辑地址、虚拟地址、物理地址、线性地址,他们之间分别有什么区别?它们之间是如何转化的?(说实话逻辑地址这个概念实在太模糊了)应该是没有了,记不起来了,忘了录音6、算法题1、检测循环依赖(其实很简单,但没复习拓扑排序,换了道题)2、将一棵二叉树根据中序遍历的顺序,转化为一个双向链表(左指针 = 链表的前向指针;右指针 = 链表的后向指针)7、反问环节
点赞 54
评论 27
全部评论
推荐
最新
楼层
滴滴
校招火热招聘中
官网直投
相关推荐
Fintech砖
05-07 22:17
已编辑
兴业银行_金融科技部_Fintech金融科技岗
5月份还没有找到实习,该做什么
5月份陆陆续续有很多同学开始去企业进行实习,但由于竞争压力,很大一部分并未找到满意的实习或者其他原因而呆在学校,那么作为过来人给同学们一些建议和思路: (1)调整心态,在学校具有充足的时间和精力,好好夯实八股文和代码水平 (2)从网上或者学长学姐获取一个项目代码,然后理解、吃透、复现、润色、完善 (3)细化简历内容和锻炼面试技巧,提前收集提前批公司信息,积极求职面试
实习,投递多份简历没人回复怎么办
投递实习岗位前的准备
点赞
评论
收藏
转发
musdrop
05-07 14:18
南京航空航天大学 计算机类
大二,这简历能找到实习吗,求改进建议
真没啥能写了,求帮忙改善一下,第一次做简历
最后再改一次简历
简历被挂麻了,求建议
点赞
评论
收藏
转发
chenxi同学
04-02 12:18
西安邮电大学 计算机类
面试最难绷的一集
今天面试到最后的时候,面试官说,来写道算法题吧。哥们打开链接一开,环形链表?狠狠拿下😋结果因为力扣上有以前写过的代码,面试官说你以前做过了吗,那我们换一道吧。整了一道字符串相关的,一点思路没有😇大伙一定要记得清空力扣的做题记录😭
点赞
评论
收藏
转发
Stupid_Pig
03-26 19:45
广州应用科技学院 计算机类
也罢,谁让自己是二年制本科呢
点赞
评论
收藏
转发
面向对象的小飞象
05-09 22:23
已编辑
杭州电子科技大学 计算机类
不跟大家争华子暑期实习了
一面算法题没写出
华为求职进展汇总
点赞
评论
收藏
转发
点赞
收藏
评论
分享
回复帖子
全站热榜
1
...
31天勇闯盲审(附盲审经验
5897
2
...
5.11校招&实习招聘信息汇总
5072
3
...
捞简历这件事儿
4744
4
...
滴滴测开秋储一面凉
3805
5
...
无题
3684
6
...
微信支付一面
3627
7
...
24届春招还有0offer的吗 #0offer是寒冬太冷还是我太菜#
3246
8
...
云智offer
3221
9
...
美团-Java后端-平台技术部-一面凉经(复活赛)
2781
10
...
华为暑期实习面经(已入池)
2643
正在热议
#
牛客帮帮团来啦!有问必答
#
655855次浏览
10876人参与
#
无实习如何秋招上岸
#
211649次浏览
3301人参与
#
你的简历改到第几版了
#
295206次浏览
4472人参与
#
23届的你们都什么时候入职?
#
83128次浏览
724人参与
#
租房前辈的忠告
#
30721次浏览
2018人参与
#
找工作中的意难平
#
183909次浏览
3336人参与
#
硬件人的简历怎么写
#
76057次浏览
775人参与
#
华为开奖那些事
#
693551次浏览
5962人参与
#
简历中的项目经历要怎么写
#
421251次浏览
7150人参与
#
机械人怎么评价今年的华为
#
65694次浏览
529人参与
#
秋招开了,你想投哪些公司呢
#
114786次浏览
3232人参与
#
五一之后,实习真的很难找吗?
#
16371次浏览
102人参与
#
我想象的工作vs实际工作
#
89845次浏览
1520人参与
#
金融银行面经
#
4516次浏览
104人参与
#
你投了多少份简历,才拿到offer?
#
5164次浏览
58人参与
#
你已经投递多少份简历了
#
285328次浏览
4325人参与
#
第一份工作应该选择高薪还是大平台
#
33655次浏览
252人参与
#
本周投递记录
#
193902次浏览
5009人参与
#
工作压力大怎么缓解
#
9662次浏览
135人参与
#
浅聊一下我实习的辛苦费
#
78481次浏览
726人参与
牛客网
牛客企业服务