首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
AI 模拟面试
简历
求职
学习
基础学习课
实战项目课
求职辅导课
专栏&文章
竞赛
我要招人
发布职位
发布职位、邀约牛人
更多企业解决方案
AI面试、笔试、校招、雇品
HR免费试用AI面试
最新面试提效必备
登录
/
注册
脸好看的人
南京工业大学浦江学院 Java
发布于重庆
关注
已关注
取消关注
@大傻菌:
字节后端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
全部评论
推荐
最新
楼层
暂无评论,快来抢首评~
相关推荐
07-31 15:53
已编辑
五邑大学 Java
双非二本找不到实习准备秋招,简历求指教
如题,双非二本找了一个半月实习没几个要简历的想直接准备秋招了,但是感觉简历好简单但又不知道怎么改有点想改成两页但是第二页我担心太空了不好看求指教,听劝
无实习如何秋招上岸
点赞
评论
收藏
分享
昨天 15:40
已编辑
门头沟学院 客户端其它
想把公司炸了!!!
我女朋友来找我了,但是我项目节点要交付,TMD,最近天天加班,身心俱疲,所以,我在此收集花花和点赞。花花破50,点赞破100,我给大家表演一个炸公司
搞机墨镜猫:
看到身心俱疲我以为评论区要开始推销保健品了
牛友故事会
点赞
评论
收藏
分享
07-20 02:09
南宁师范大学 Java
我是双非二本的,现在找实习好像已经找不到了,要不要直接准备秋招,但是我没有实习经历,可以包装实习经历吗,求大佬给一点建议
DKS233:
(1)专业技能:Java8也太旧了,最少也要了解到JDK17吧,可以参考现在SpringBoot支持的Java最低版本,熟悉mysql基本理论具体指啥,是锁这种具体原理还是分库分表这些业务场景,spring这些专业词汇,大小写要写对(全篇简历都有这个问题,显得不严谨),熟悉使用框架进行业务开发就别写了,如果要写,起码要写到框架原理部分吧,比如aop,启动原理什么的,springcloud具体指哪些模块呢,写清楚,网关还是鉴权还是什么,“改造”没必要写吧,你直接说用springcloud开发的不就行了(2)项目经历:首先格式就有大问题,时间怎么能换行呢,调整一下,响应速度那个,如果指的是将部分数据从其他数据库转到redis的提升就别写了,因为这个不算难点,redis可以写写分布式这些,比如容灾怎么实现的,数据库同步怎么做的
点赞
评论
收藏
分享
07-28 11:15
已编辑
南京邮电大学 Java
Java面经-大数据面经-华为OD
背景19届目标院校非计算机专业本科,23年毕业。 机考(150分钟)机考为三道题,总时长为2个半小时。现在机考已经换成了25C卷,但考的知识点还是相同的,推荐反复做之前的题卷来熟悉知识点和技巧。比如动态规划、DFS、BFS这些算法首先是要熟悉,机考部分会涉及,后面技术面手撕的时候也很可能遇到,所以这部分准备好了不尽是为了机试,也为后面技术面做了铺垫。 1、灰度图存储 2、可以组成网络的服务器 3、绘图机器机试结果就是看用例的通过率。一般大多数情况都会考虑到,但有些特殊的情况也需要在代码里体现,比如null值判断的选择分支,这些在刷题的时候也能多多练习和注意。 综测这就是选择题,在机试通过后很快...
查看15道真题和解析
点赞
评论
收藏
分享
评论
点赞成功,聊一聊 >
点赞
收藏
分享
评论
提到的真题
返回内容
全站热榜
更多
1
...
都是 dirty work,为什么别人的简历上就能言之有物🤔
2.1W
2
...
虾皮秋招一面
4397
3
...
虾皮后端一面(已挂)
4370
4
...
百度提前批,三面被推迟一周,喜提秋招第一凉
3758
5
...
7.30滴滴提前批一面凉经
3478
6
...
百度提前批 三面
3329
7
...
干活最少的实习生因为长得漂亮转正了
3075
8
...
他拿大厂SSP Offer打牌是什么概念啊?25届双非之光
2923
9
...
7.30百度提前批一面
2580
10
...
QQ提前批一面凉经
2573
创作者周榜
更多
正在热议
更多
#
你遇到最难的面试题目是_
#
15312次浏览
193人参与
#
反问环节如何提问
#
95574次浏览
1951人参与
#
中兴秋招
#
203904次浏览
2282人参与
#
简历上的经历如何包装
#
24625次浏览
729人参与
#
如何看待offer收割机的行为
#
815663次浏览
6088人参与
#
你最讨厌面试问你什么?
#
25322次浏览
283人参与
#
秋招最大的收获是什么?
#
38649次浏览
323人参与
#
我的实习收获
#
90941次浏览
1039人参与
#
26届的你,投了哪些公司?
#
37424次浏览
428人参与
#
滴滴求职进展汇总
#
233384次浏览
2116人参与
#
作业帮求职进展汇总
#
57037次浏览
376人参与
#
初创公司值得加入吗?
#
27350次浏览
194人参与
#
我对___祛魅了
#
43704次浏览
410人参与
#
数字马力求职进展汇总
#
184476次浏览
1500人参与
#
你跟室友的关系怎么样?
#
6150次浏览
94人参与
#
什么样的背景能拿SSP?
#
31773次浏览
203人参与
#
工作中哪个瞬间让你想离职
#
60810次浏览
546人参与
#
和同事相处最忌讳的是__
#
21343次浏览
217人参与
#
去年你投递实习了吗?
#
22894次浏览
331人参与
#
如何快速融入团队?
#
15012次浏览
182人参与
#
机械人的金三校招总结
#
36275次浏览
461人参与
牛客网
牛客网在线编程
牛客网题解
牛客企业服务