interview
2022
字节跳动 | 商业化技术 | 后端开发实习生 | 一面,二面,HR面 (OC) - 力扣(LeetCode) https://leetcode.cn/circle/discuss/Akwta3/
一面(11月21号,1h多)
自我介绍
项目
介绍一下自己最熟悉的项目?
项目使用的技术栈?项目的微服务是怎么划分的?
项目的签到功能是怎么实现的?
项目的搜索附近的人功能是怎么实现的?
Java基础
final、finally、finalize的区别?
异常有哪些分类?
Error 和 Exception都是谁的子类?
JUC
线程和进程有什么区别?
有多少种实现线程的方法?
ThreadLocal是什么?
ThreadLocal的实现原理?
使用ThreadLocal有什么问题吗?如何解决?
JVM
讲一下JVM内存结构?
垃圾回收算法了解多少?
MySQL
MySQL 支持哪些存储引擎?
MyISAM 和 InnoDB 的区别有哪些?
聚簇索引是什么?非聚簇索引是什么?
使用非聚簇索引如何查找数据?
建立联合索引(a,b,c),where c = 5是否会用到索引?为什么?
where b =5 是否一定会命中索引?(索引失效场景)
什么是数据库事务?事务的作用是什么?
事务具有的四个特征?MySQL 默认隔离级别?
Redis
单线程的Redis的QPS是多少?
单线程的Redis为什么这么快?
Redis的持久化机制?
Redis切片集群?数据和实例之间的如何进行映射?
Redis扩容之后,哈希槽的位置是否发生变化?Redis缓存和数据库不一致解决方法?
设计模式
了解哪些设计模式?
单例模式有几种实现方式?
单例模式最常用的实现方式是哪种?为什么?
数据结构
讲一下冒泡排序和快速排序的区别,从平均时间,最好,最好,稳定性上来说?
算法
LeetCode 543. 二叉树的直径
反问
部门的业务?
部门的技术栈?
后序的面试流程?(被告知一面是没有问题的,二面等后序通知)
二面(11月23日,45min左右)
自我介绍
实习经历(20min)
介绍一下实习期间做的项目?
对实习项目做了提问。
Redis
对redis的数据结构是否熟悉?
讲一下Sorted set的底层数据结构实现?
什么是缓存穿透?如何解决?
什么是缓存击穿?如何解决?
什么是缓存雪崩?如何解决?
什么是缓存预热?如何解决?
Redis如何实现分布式锁?
MySQL
什么是回表?回表记录越多好吗?(回表的代价)
性别字段要建立索引吗?为什么?什么是区分度?
MySQL查看字段区分度的命令?
MySQL主从复制流程和原理?
MySQL如何查看查询是否用到了索引?
type 列的最好,最好级别?都代表了什么意思?
计网
说说OSI七层模型?
用户输入网址到显示对应页面的全过程?
DNS 的解析过程?
HTTP有多少版本?
HTTP/1.1和HTTP/2.0的主要区别是什么?
目前使用最广泛的是哪个HTTP版本?
什么是幂等?
幂等方法了解哪些?
除了Get方法之外还了解其他幂等方法吗?
一个TCP连接可以发送多少次HTTP请求?
算法
LeetCode 15. 三数之和 (带输入输出)'
反问
是否要学习大数据相关知识?
之后的面试流程?
HR面(11月28日,15min)
觉得自己前面的2轮面试表现的怎么样?哪里发挥的好?哪里发挥的不好?
未来想从事哪一行业?
什么时候可以来实习?
可以实习多长时间?
平时都是怎么学习的?
介绍一下实习期间主要做的项目?
实习期间遇到的最大困难是什么?怎么解决的?
实习给你带来了哪些成长?
如果你可以来实习,你对自己有哪些规划吗?
你有什么想问我的吗?