之前一直有朋友让我给大家分享一下大厂的面经。这不,听说最近刚好有个朋友去面试字节拿到了offer,我也是急忙联系到他花费了两天的时间把他的面试经历和面试题以及答案整理出来分享给大家。
朋友背景介绍:非科班(机械),项目是管理系统,本科211,硕士985。
话不多说,面试经历和面试题都整理在下方了
简要版:
一面:4月22日下午5:00-5:40
两个有序链表合并
K个有序链表合并
两道sql题
二面:4月26日 2:00-2:50
最长连续子序列
基础问题
三面:4月28日 5:00 - 5:40
求平方根
跳台阶
单例模式
工厂模式
详细版:
字节一面 4月22日下午5:00-5:40
1 算法题 合并链表
leetcode21:https://leetcode-cn.com/problems/merge-two-sorted-lists/
先说思路,第一次面试,有点紧张,说的一塌糊涂。然后又重新说了一遍,迅速写完代码,过了。
2 算法题 合并k个链表
leetcode23:https://leetcode-cn.com/problems/merge-k-sorted-lists/
一开始先问时间复杂度,我马上回答nlogk,然后用归并的想法解释。
但是太紧张,没有解释清楚,面试官不理解我的做法。
最后急中生智想到了用堆来合并。
面试完后看leetcode, 这题我刷了3遍,每次都是用归并的做法做的。
所以面试的时候有点思维定势,想了好久才想到用堆。
3
select * from t where b=1;
Select * from t where a=1 and b=1;
问怎么建立索引
先说需要建两个索引,后来反应过来了,建一个联合索引。
4
Select * from t where c=1;
C是非主键索引,问几次磁盘io,b+索引树高度3。
这题哪位大佬能解答一下,我目前还不知道正确答案是啥。
4月26日 2:00-2:50
0 自我介绍
1 最长连续序列
leetcode128:https://leetcode-cn.com/problems/longest-consecutive-sequence/
做过了,秒了。面试官让我测试一下,还好没出问题。
2 String为什么不可变
3 聊聊http2.0
问http缓存
4 有没有遇到过死锁,咋解决的
5 项目中中文乱码问题咋解决,知不知道中文乱码的原因
6 java线程间通信
有没有用过java中的exchange
7 知不知道负载均衡
8 redis几种数据结构
Zset数据结构,怎么排序的
Redis缓存淘汰策略
9 业务场景
电脑微信扫码,然后手机点验证,电脑就进入微信。怎么实现
10 反问
4月28日 5:00 - 5:40
0 自我介绍
1 sqrt(x),保证小数点后三位精度
leetcode69变形题:https://leetcode-cn.com/problems/sqrtx/
面试的时候一直在想之前腾讯笔试的时候做的一道题,觉得尾数处理太麻烦了。我以为需要最后保留小数点后三位,想得复杂了。
简单的一道题,写的比较纠结,面试官看我如此纠结,于是就让我全程写代码了。
2 跳台阶,斐波那契数列
剑指offer:[](https://leetcode-cn.com/probl...https://www.nowcoder.com/practice/8c82a5b80378478f9484d87d1c5f12a4?tpId=13&tqId=11161&tPage=1&rp=1&ru=/ta/coding-interviews&qru=/ta/coding-interviews/question-ranking
3 单例模式,然后面试官问指令重排。
4写个简单工厂模式吧
写了简单工厂
面试官说确实实现了功能,但是有两个问题,一个是依赖关系没有解除,一个是if else。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。