字节跳动前端开发面试经验
.介绍一下自己学习与工作经历1.1 系统架构怎么做的, 有哪些模块, 系统中的难点有哪些?2.JVM 构成?类加载过程? 栈与堆的区别? 对象的构成? 4核8g机器堆的大小怎么设置? 永久代与方法区的含义?3.java 如何保证线程安全? 锁的种类? 内存屏障是做什么的? 锁按你的理解来分类(这么分类的依据是什么)?4.怎么理解并发与并行? 多线程能够提升效率,但为什么线程多了不一定比单线程好? 怎么合理分配线程(根据什么依据来分配)?5.抓包有了解吗? linux 抓包有用过吗?6.TCP 底层原理,慢开始算法,队列数量, 滑动窗口与拥塞控制的区别? 滑动窗口怎么实现的? 为什么要四次挥手?7.mysql中 事务与锁与索引三者间的关系? 锁怎么实现的? 锁与索引的关系?8.mysql中 explain extra 字段: use index / use index condition / file sort / use where 分别的含义是什么, mysql 为什么要反这些信息?9.mysql中 mvvc 是做什么的, 怎么实现的, 怎么分别实现可重复读与读已提交的?