前言
写在前面的话,说到大厂人们无非现在想到的不是BAT,但是我想说的是字节现在已经有后来居上的趋势,以后肯定不会比现在的BAT差太多!今天分享的是一个朋友的字节跳动四面面经,他自己都没想到看完我的面试资料真的面进去了,下面是他的面试题和过程分享。需要面试资料的朋友点击这里备注csdn即可免费领取,诚意满满!
一面 11.10 :44 min
-
说下项目。
-
线程与协程。(协程不会)
-
DNS查询。
-
DNS投毒。(不会)
-
堆和栈的区别。
-
堆什么时候做内存回收。(错了一半)
-
项目有无用过多线程。(无,只看过书上的demo)
-
多线程的参数。
-
用过哪些设计模式,我说单例、工厂、观察者、代理模式。(他想让我说策略模式、装饰模式和适配器模式,但这三个我都不知道)
-
说一下代理模式和使用场景。
-
Redis字典结构、扩容。
-
HashMap解决Hash冲突的方法。
-
MySQL的二叉树、B树、B+树、Hash索引比较,二叉树的缺点。
-
MySQL的可重复读是怎么实现的,MVCC怎么实现的。
-
MySQL如何判断死锁,回滚的时间是空闲的,能做什么优化。(优化不知道)
-
进程间通信方式,举例说明一个。(举例说明不会)
-
一个跟内存泄漏比较相近的词,问我有没有听说过,具体忘了,答没有。
代码:二选一,做的第一个,没bugfree,改动了一次,挺遗憾的。
- 字符串最长子串
输入: “abcabcbb” 输出: 3 解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。
输入: “bbbbb” 输出: 1 解释: 因为无重复字符的最长子串是 “b”,所以其长度为 1。
- 给定一组正整数,重新排列它们的顺序然后组成一个最大的整数
输入: [11,5] 输出: 511
输入: [3,30,34,5,8] 输出: 8534330
反问:
问部门语言
是不是ToB
跟商业变现的区别
我看有些面经都直接问自己过