写在开头
互联网时代,最明显的标志就是每一家互联网公司都有属于自己的“拥护者”,比如在程序员界内,大部分都拥有阿里梦,这也意味着不少程序员都是阿里系的铁杆粉丝,想进入阿里工作是他们的梦想。而我不同,90后的我对字节跳动却是情有独钟。2012年出生的字节跳动,凭借飞速的发展,靠着头条和抖音两大王牌产品,成为了内容领域的王者,也受到不少年轻工作的青睐,其中也包括了我自己。
今年10月份,我给字节跳动投了简历,很荣幸接到面试邀请。这次面试机会,我准备了大半年才拿到,一面二面还算顺利,但在三面时候心态没放好,所以给面试官印象不太好,结果跟想象一样,凉了,不过并未气馁,准备准备明年二战。下面分享一波这次的面试经历以及个人的总结。
以下展示的面题,学习资料等,均可以关注文末公众号获取
字节跳动三面凉经
字节跳动一面:
- 自我介绍
- 聊项目
- Redis熟悉么,了解哪些数据结构? zset底层怎么实现的?
- 红黑树了解么,时间复杂度?
- 既然两个数据结构时间复杂度都是O(logN),zset为什么不用红黑树
- 线程池的线程数怎么确定?
- 如果是IO操作为主怎么确定?
- 如果计算型操作又怎么确定?
- 跳表的查询过程是怎么样的,查询和插入的时间复杂度?
- 说下Dubbo的原理?
- CAS了解么?还了解其他同步机制么?
- 做题:数组A,2*n个元素,n个奇数、n个偶数,设计一个算法,使得数组奇数下标位置放置的都是奇数,偶数下标位置放置的都是偶数。先说下你的思路
- 你有什么想问我的?
字节跳动二面:
- 自我介绍
- 问项目
- 分布式追踪的上下文是怎么存储和传递的?
- SpringMVC不同用户登录的信息怎么保证线程安全的?
- 我们聊聊mysql吧,说下索引结构,为什么使用B+树?
- Dubbo的RpcContext是怎么传递的?主线程的ThreadLocal怎么传递到线程池?你说的内存泄漏具体是怎么产生的?
- 线程池的线程是不是必须手动remove才可以回收value?那你说的内存泄漏是指主线程还是线程池?
- 什么是索引覆盖?
- Java为什么要设计双亲委派模型?
- 什么时候需要自定义类加载器? <