字节互娱客户端:一面二面三面凉经
字节客户端-互娱8.22一面 1h10m
操作系统
1. 进程和线程的理解,(它们)地址空间有什么区别
2. 进程之间的通信
3. 了解过死锁,怎么避免
计算机网络
4. OSI七层的TCP和UDP,讲讲理解,应用场所,怎么保证TCP的可靠,展开说说拥塞避免
5. 浏览器敲下URL发生了什么
6. DNS基于TCP还是UDP,为什么,了解过DNS劫持吗
7. HTTPS了解过吗,TSL握手里面的哈希函数用来干什么(校验完整性),加密的过程是怎么样的,TSL握手的过程中怎么确定对方的身份
数据库
8. 讲讲索引,索引优缺点,索引随机变化影响插入性能还是数据库整体性能,索引和数据库的源数据结构是耦合的吗,索引怎么提高查询效率
9. 使用mysql的过程中有什么感受,三大范式
JAVA
10. 抽象类和接口的了解,在多继承单继承的角度呢
11. 非静态内部类和静态内部类的区别,静态内部类会持有外部类的引用吗,比如说外部类A,里面有一个静态内部类B,B可以调用A的方法吗?非静态内部类可以访问吗?
12. 非静态内部类可以直接访问外部方法,编译器是怎么做到的?
13. JAVA类的初始化顺序,构造函数,静态代码块,包括有父类的情况。
14. JVM装载一个类的过程,什么样的行为会触发类的初始化?一个静态类的静态变量初始化赋值一个类的对象,会触发类的初始化吗?假设静态变量是一个数组,数组里包含对一个类的声明,会触发类的装载吗?
15. HashMap,内部实现,什么时候会转成红黑树,以及为什么是这个长度?HashMap是线程安全的吗,你用过它的线程安全版本吗?ConcurrenHashmap怎么实现线程安全?分段锁怎么加锁的?了解CAS吗?为什么不能所有的锁都用CAS?JVM对Synchornized的优化?
16. JVM的内部模型,虚拟机栈有两类异常,栈溢出和OOM。程序计数器的作用,为什么是私有的
手撕链表重排
面试官引导式发问,体验很好。
字节客户端-互娱8.31二面 1h
1. openID,APPID(不懂,)
2. 事务是干嘛用的,单线程没必要用事务吗?多线程为什么要用事务解决,锁不是可以解决吗?
3. Java的四种引用,内存泄漏,垃圾回收可以解决内存泄漏吗?怎么发现内存泄漏,(Jconsole)怎么看出来内存泄漏,怎么解决内存泄漏?内存满了我们能知道吗?OOM?OOM怎么处理?
4. 新建线程的方法,new和实现runable有什么区别?线程池的核心线程数和最大线程数区别。
5. 线程的通讯,子线程怎么传数据给主线程?Wait和sleep的区别。怎么唤醒wait的线程。
6. 非阻塞的socket怎么实现的?基于轮询吗?讲一下select poll epoll。
7. 快排的过程,时间复杂度,最坏情况,最坏情况是什么情况?
8. Java注解,编译期读注解还是运行时?Override是注解吗?它是运行时做的吗?
9. 智力题,1000苹果放到十个篮子,任意报一个数N<=1000,要求能用1-10个篮子的几个篮子之和等于N,求分配方案。
手撕1.字符串转数字2.target为t的连续数组
面试官有点严肃,问问题只想听我的理解。
字节客户端-互娱9.8 三面 40m
1.介绍RPC,RPC和其他协议HTTP有什么区别,然后扣项目细节。。。(录像都不敢看,不想写了)
2.你投的是客户端,怎么考虑的。
3.平时你会学什么技术。
4.介绍netty。Netty解决的最核心的问题是什么?
5.NIO和IO。
手撕lc17电话号码的字母组合