前言
今天刚收到字节的offer意向书,来和小伙伴们分享下面经,希望能对大家有所帮助!
通知书镇楼,证明下本面经的真实性。
先简单介绍下本人情况:
交大本硕,绩点3.85/4,通信专业,6月开始在阿里实习。
重点来了:
字节一面:
1、自我介绍
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关键字能保证线程安全吗;
6.有n个筐,筐固定,每个筐内有不同数目的苹果,移动苹果,使每个筐苹果平均(移动的代价:12算1步,13算2步)使步数最小;
字节三面:
1、自我介绍
2、解决什么问题,做了些什么?(项目)
3、多个接口,有失败怎么办(项目)
4、redis分布式锁怎么实现
5、时间过期怎么办
6、ArrayList怎么扩容,时间复杂度O(n)?插尾部O(1),平均是多少,答案O(2)需要考虑扩容,小伙伴们可以自己推一下。
7、HashMap底层原理
8、MysqL索引什么原理、B+树
10、为什么不用redis存数据?
11、算法:LRU缓存(),先讲一下再写
个人总结和建议:
运气好,基本都答上来了,除了linux相关的。
给大家的建议是,
多刷剑指OFFER!!!!
多刷剑指OFFER!!!!
多刷剑指OFFER!!!!
这个真的好用
项目多准备
项目多准备
项目多准备
即使没做特别复杂也最好先搜一下遇到某些复杂场景的措施,比如redis突然挂了,db挂了,高并发之类的。
看完点个赞呗
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。