今天刚收到字节的offer意向书,来和小伙伴们分享下面经,希望能对大家有所帮助!
传送门:
实验室大佬面经:秒杀项目大佬,啥都会,你们想请教秒杀项目可以找他,比我强的太多了。
https://www.nowcoder.com/discuss/698548
阿里面经由于朋友不想公开,所以删了,很抱歉了
通知书镇楼,证明下本面经的真实性。
先简单介绍下本人情况:
交大本硕,绩点3.85/4,通信专业,6月开始在阿里实习。
重点来了:
一面:
1、自我介绍
2、JAVA SDK起到的作用
3、项目
4、数据流(项目)
5、排序(介绍下你知道的排序和复杂度)
6、Arrays.sort底层的排序算法(有三种策略)
2、JAVA SDK起到的作用
3、项目
4、数据流(项目)
5、排序(介绍下你知道的排序和复杂度)
6、Arrays.sort底层的排序算法(有三种策略)
7、堆排序基本思路
8、linux,操作系统的开机流程(这题我不会。)
9、进程和线程的区别
10、进程切换会发生什么
11、进程调度算法有哪些
12、TCP、udp区别
13、java锁,关键字区别
14、公平锁、非公平锁解释一下
二面:
1.算法题:由前序遍历中序遍历重建子树;
2.为什么静态类中不能使用非静态类(从类加载过程回答);
3.java类加载过程;
3.1.加载阶段中,为什么要有自定义的类加载器;
3.2.双亲委派原则的机制;
4.HashMap数据结构;
4.1.为什么小于6是链表,大于8变成红黑树;
4.2.HashMap扩容机制;
4.3.HashMap是否线程安全,例子;
4.4.ConcurrentHashMap和HashTable的区别;
4.5.ConcurrentHashMap如何保证高效,为什么是线程安全,为什么比HashTable优秀,分段锁机制;
4.6.CAS能保证线程安全吗(我回答能,面试官说不能。。估计想考ABA问题),volatile关键字能保证线程安全吗;
4.2.HashMap扩容机制;
4.3.HashMap是否线程安全,例子;
4.4.ConcurrentHashMap和HashTable的区别;
4.5.ConcurrentHashMap如何保证高效,为什么是线程安全,为什么比HashTable优秀,分段锁机制;
4.6.CAS能保证线程安全吗(我回答能,面试官说不能。。估计想考ABA问题),volatile关键字能保证线程安全吗;
5.随机数求根,比如根号二的值。(二分查询)
6.有n个筐,筐固定,每个筐内有不同数目的苹果,移动苹果,使每个筐苹果平均(移动的代价:1~2算1步,1~3算2步)使步数最小;
三面:
1、自我介绍2、解决什么问题,做了些什么?(项目)
3、多个接口,有失败怎么办(项目)
4、redis分布式锁怎么实现
5、时间过期怎么办
6、ArrayList怎么扩容,时间复杂度O(n)?插尾部O(1),平均是多少,答案O(2)需要考虑扩容,小伙伴们可以自己推一下。
7、HashMap底层原理
8、mysql索引什么原理、B+树
9、mysql和redis区别(讲一下各自优缺点)
10、为什么不用redis存数据?
11、算法:LRU缓存(),先讲一下再写
个人总结和建议:
运气好,基本都答上来了,除了linux相关的。
给大家的建议是,
多刷剑指OFFER!!!!
多刷剑指OFFER!!!!
多刷剑指OFFER!!!!
这个真的好用
项目多准备
项目多准备
项目多准备
即使没做特别复杂也最好先搜一下遇到某些复杂场景的措施,比如redis突然挂了,db挂了,高并发之类的。
一些题外话:
我面试后挺喜欢和面试官聊聊天,也会帮实验室一些同学整理下他们面试中问到的问题。根据我个人在与他们聊天时获取的信息来看,其实八股问题的难度和项目实习经历关系很大。如果你对自己做的项目的各个流程和优化都很清楚,对每一个模块可能出现的问题都有所反思和了解最新对策。对实习对做的需求的流程和各种可能的安全问题都说的很清楚的话八股就只是走个过场,并不难。而如果没有实习或者实习在混,或者项目只是草草复现别人代码没有自己思考的话就问的很难很难。我实验室一个同学今晚一面,我帮他整理,面试官问了他41个问题。。。你们有兴趣的话我之后再整理一份面经。
另外,实习不一定是必须的。如果你自己能很好的独立实现一个项目其实并不比实习差。但只是复现别人代码的就不太行,切记。我实验室有个大佬就没实习过,但对自己的一个秒杀项目理解很深,面试官问的场景题也都对答如流,他的八股也是就简单的过一过。所以大家不必太担心自己没有实习。
当然,如果实习和项目都没有的话。。。八股多背背。。底层源码多看看。
看完点个赞呗😃😃😃
最后祝大家都能上岸
全部评论
(25) 回帖