字节跳动一二三面+HR面
字节跳动-Java岗面经
一面
-
自我介绍 介绍第一个项目 项目的目的,项目的整体架构,负责模块的简单介绍 功能权限的实现(这一部分可能我没表述清楚,面试官问了很久。。。) 算法题: 给定两个数组,求两个数组的交集,且重复多少次,就打印几次 比如:[1,2,2,3,5,7]和[1,1,2,2,2,2,3,3,5,7,8],结果[1,2,2,3,5,7] JVM内存结构? OOM的场景?堆和栈的一些区别? HashMap的扩容机制?存储的方式?hash后码相同时怎么处理? 线程池是什么?怎么用?有什么好处?线程池的核心参数? 数据库的索引结构?B+树的结构?与B树的区别? Redis了解过吗?Redis的数据结构?缓存击穿是什么?怎么解决? 事务的隔离机制?四种事务隔离级别的分别是什么意思,有什么区别?事务隔离机制里用了AOP,是如何用的? Linux的top指令可以查看什么信息?top中的load指的是什么?网络相关的指令用过哪些?查端口号用哪一个? 乐观锁和悲观锁?在数据库里怎么实现一个乐观锁?乐观锁在数据库中的实现形式? TCP的滑动窗口机制? Jenkins自动化部署的流程? 有什么问题要问?
二面
-
自我介绍 项目的需求背景,以及项目的架构,项目的实现细节 数据库的第三范式 有没有对自己开发的模块做过压测?如果让你去做压测,你会如何去做? 如果数据规模增大几个数量级,可以有什么优化? 联合索引的使用,减少回表次数 Redis缓存 如何去设计缓存 redis中常用的数据结构?缓存击穿和缓存穿透 开源的DevOps平台用过吗,CICD平台? 算法题:拿糖问题 给一个数组{1,3,5,7,8,10},每个位置上数字代表每个位上有几个糖 不能拿相邻的糖,最终怎么拿最多的糖 volatile关键字的功能 Linux的buffer内存和cache内存 虚拟内存、常驻内存、共享内存 路由器,交换机工作在哪一层? ConnectTimeOut ReadTimeout异常的区别?Unknown host是什么原因导致的? 浏览器输入 www.xxx.com 最终展现网页,整个过程 观察者模式 说一下zookeeper和ES 对发展方向有什么想法 你有什么想问的?
三面
询问毕业时间,询问GPA和研究生研究方向
项目具体细节,介绍负责的模块,醒目的具体架构?
什么是DevOps?DevOps的使用场景?
微服务是什么?微服务的粒度?怎么去划分?
询问项目的细节
面对百万级的数据,你的模块需要怎么优化?
开发时使用的技术?有没有深入了解?
说一下GC算法?G1和CMS分别是什么,区别?
你还有什么问题?
HR面
自我介绍,对公司面试的评价,实习时间
为什么转专业?
你认为你有什么优点?有什么缺点?有什么兴趣爱好?
在团队中习惯充当什么样的角色?
遇到过比较困难的事情是什么?觉得自己很幸运的事情是什么?
对于未来的规划?有没有使用过公司的其他产品?有没有转正想法?
你还有什么想问的?
上一篇:
IDEA上Java项目控制台中文乱码