字节跳动

📍面试公司:字节跳动  
🕐面试时间:二面  
💻面试岗位:Java后台实习生  
❓面试问题:  
1. Java 中的接口和抽象类有什么区别?说几个使用场景。  
2. 手写一个 LRU 缓存,要求线程安全。  
3. 线程池的核心参数分别代表什么?最大线程数满了之后会发生什么?  
4. Spring 里的循环依赖是怎么解决的?单例、原型都适用吗?  
5. 如果多个线程同时竞争锁,JVM 是怎么决定谁先拿到锁的?  
6. 你了解过 volatile 吗?说说它和 synchronized 的区别。  
7. 数据库索引什么时候会失效?有哪些使用误区?  
8. HTTP 和 HTTPS 的底层加密原理能简单讲一下吗?  
9. 算法题:给一个数组和目标值,找出两个数,使它们的和等于目标值,要求时间复杂度尽可能低。  
10. Redis 是单线程的,那为什么它还这么快?  
11. 假设你有一张订单表,每秒几千条数据写入,怎么设计才能高并发插入同时还能支持实时查询?  

🙌面试感想:  
二面整体偏底层一些,问的东西比较杂,有些问题会继续追问细节,像线程池、锁、Spring循环依赖这类点都要准备得稍微深入点,不然很容易答得比较浅就被追着问。感觉字节的面试官挺注重基础和思维方式的,不会纯靠背答案糊弄过去。
#发面经攒人品#
全部评论
祝佬顺利啊
点赞 回复 分享
发布于 09-14 14:24 安徽

相关推荐

面试25mins左右,估计是G了。。。1. 算法题:给定一个整数数组和一个目标值,找出数组中和为目标值的两个数的下标。(Two Sum)2. Java 中 `synchronized` 和 `ReentrantLock` 的区别有哪些?在什么场景下会选择使用 `ReentrantLock`?3. 如果两个线程分别调用同一个对象的同步方法和非同步方法,会发生阻塞吗?为什么?4. Java 中的堆和栈的区别?对象是在堆还是栈上分配的?5. 线程池中核心线程数、最大线程数、队列长度这三者是如何协同工作的?能详细说一下线程池的执行过程吗?6. HashMap 和 ConcurrentHashMap 的实现上有什么不同?为什么前者线程不安全?7. 有哪些方式可以实现一个单例模式?懒汉式如何避免线程安全问题?8. 请解释 Java 中的垃圾回收机制,包括 GC 的分代、触发条件及常见的回收算法。9. 数据库索引底层使用了什么数据结构?为什么不用 Hash 表?10. 一条 SQL 查询语句从客户端发送到数据库,完整的执行流程是怎样的?11. 如何通过 SQL 查询每个部门工资最高的员工姓名?表结构为:`employee(id, name, salary, dept_id)`,`department(id, name)`12. TCP 三次握手和四次挥手的过程是什么?TIME_WAIT 状态存在的意义是什么?13. 分布式系统中如何保证接口的幂等性?常见的手段有哪些?14. Java 中的 volatile 关键字作用是什么?能保证原子性吗?15. Spring 中的 Bean 生命周期是怎样的?有哪些扩展点?
查看15道真题和解析
点赞 评论 收藏
分享
评论
点赞
13
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务