字节跳动一二面凉经(2019届春招)

凉了,过程有些忘了,记得了再补。面的研发岗,自己平时主做JAVA。

 

一面:40分钟

1.一开始写算法,爬楼梯,一次只能爬一阶或两阶,n阶楼梯共几种爬法。(写递归,非递归,还有复杂度为(logn)三种,第三种我写不出来);

2.就着项目问,mysql调优,索引原理,explain,文件排序,以及给出条件问我怎样建索引比较好;

3.知道java几种map,hashmap底层如何实现(数组+链表+红黑树),时间复杂度如何;

4.JAVA垃圾回收机制;

5.redis有哪几种存储,底层如何;

6.我简历里写前端用过React,问React生命周期;

 

二面: 50分钟

1.自我介绍;

2.项目哪里做得最好,详细说下,然后设计相关知识点,包括elasticsearch索引原理;

3.写代码,快排,写测试;

4.写代码,一棵树,给你几个节点,找出他们的最小公共祖先节点;

5.tcp的ACK在哪会用到;

6.计算机从快到慢的结构是哪些;(要详细,但我只记得cache,内存,硬盘什么的……)

7.虚拟地址;(不会啊,都不知道操作系统会问这些,我天真的以为只会问死锁)

 

问题大致这些,但都会涉及和扩展挺多。

你可能感兴趣的:(面试经历,java,字节跳动)