26秋招字节后端一面八股盛宴

1.问实习二十五分钟 后开始基础知识拷打
2.讲讲Java的锁 synchroniz
3.说说锁升级的过程
4.为什么会有这个过程  主要是避免什么
5.reentranlock 和synchronize 的区别 生产上一般用哪个
6.AQS的实现原理
7.有哪些实现类 以及怎么实现的
8.类加载机制
9.双亲委派是什么
10.索引失效是由什么导致的
11.慢sql排查优化
12.联合索引 最左前缀匹配原则
13.redolog binlog如何写入磁盘 两阶段提交
14.如果没有两阶段提交会怎么样
15.MySQL 的原子性是怎么保证的
16.数据更新日志的写入顺序
17.redis的网络模型是怎么样的 (为什么这么快)
18.什么是分布式 以及会带来什么问题
19.分布式数据一致性怎么保证
20.消息队列的推拉模式了解么
21.如何保证消息幂等
22.如何保证消息不丢失
23.kafka为什么那么快
24.零拷贝是什么 讲一下流程 减少哪些地方的拷贝 是完全没有拷贝么
25.一个消息队列的好坏有哪些评价指标  有什么作用
26.rocketmq和kafak的区别
27.设计模式 应用场景
28.最后一道算法题 二叉树的先序遍历 (非递归版) 两分钟写完
29.反问
全部评论

相关推荐

上周组里招人,我面了六个候选人,回来跟同事吃饭的时候聊起一个让我挺感慨的现象。前三个候选人,算法题写得都不错。第一道二分查找,五分钟之内给出解法,边界条件也处理得干净。第二道动态规划,状态转移方程写对了,空间复杂度也优化了一版。我翻他们的简历,力扣刷题量都在300以上。后三个呢,就有点参差不齐了。有的边界条件没处理好,有的直接说这道题没刷过能不能换个思路讲讲。其中有一个女生,我印象特别深——她拿到题之后没有马上写,而是先问我:“面试官,我能先跟你确认一下我对题目的理解吗?”然后她把自己的思路讲了一遍,虽然最后代码写得不是最优解,但整个沟通过程非常顺畅。这个女生的代码不是最优的,但当我问她“如果这里是线上环境,你会怎么设计’的时候,她给我讲了一套完整的方案——异常怎么处理、日志怎么打、怎么平滑发布。她对这是之前在实习的时候踩过的坑。”我在想LeetCode到底在筛选什么?我自己的经历可能有点代表性。我当年校招的时候,也是刷了三百多道题才敢去面试。那时候大家都刷,你不刷就过不了笔试关。后来工作了,前三年基本没再打开过力扣。真正干活的时候,没人让你写反转链表,也没人让你手撕红黑树。更多的是:这个接口为什么慢了、那个服务为什么OOM了、线上数据对不上了得排查一下。所以后来我当面试官,慢慢调整了自己的评判标准。算法题我还会出,但目的变了。我出算法题,不是想看你能不能背出最优解。而是想看你拿到一个陌生问题的时候,是怎么思考的。你会先理清题意吗?你会主动问边界条件吗?你想不出来的时候会怎么办?你写出来的代码,变量命名乱不乱、结构清不清楚?这些才是工作中真正用得到的能力。LeetCode是一个工具,不是目的。它帮你熟悉数据结构和常见算法思路,这没问题。但如果你刷了三百道题,却说不清楚自己的项目解决了什么问题、遇到了什么困难、你是怎么解决的,那这三百道题可能真的白刷了。所以还要不要刷LeetCode?要刷,但别只刷题。刷题的时候,多问自己几个为什么:为什么用这个数据结构?为什么这个解法比那个好?如果换个条件,解法还成立吗?把刷题当成锻炼思维的方式,而不是背答案的任务。毕竟面试官想看到的,从来不是一台背题机器,而是一个能解决问题的人。
牛客51274894...:意思是光刷力扣还不够卷
AI时代还有必要刷lee...
点赞 评论 收藏
分享
评论
2
11
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务