26届字节日常 timeline - 抖音直播
bg末流211本,base北京,部门用go,本人学的Java
12-02,“老板”上投递
两天后约面
12-10,一面(42min)
自我介绍
介绍实习
实习做的新功能中的数据模型和表结构怎么设计的?
ES 怎么实现的地理查询?除了 ES 还有别的实现方法吗?
实习中说的新的数据过滤方式是怎么做的?(AOP + 自定义注解)
介绍一下 MySQL 索引,底层结构,“性别”能不能当索引?
说一下 Java 的基本数据类型,集合类型,ArrayList 和 LinkedList 的区别和应用,ArrayList 扩容机制?
说一下 Java 垃圾回收,判断对象是否可回收的方法,内存模型,程序计数器是干嘛用的?
手撕:63. 不同路径 II
全程没问项目经历,算法也是让我写好叫他,这强度让我以为是 KPI 面,好在二天后晚上20点约二面
12-17,二面(52min)
自我介绍
介绍实习
实习中说的新的数据过滤方式是怎么做的?(AOP + 自定义注解)
你的自定义注解为什么能标识需要过滤的方法?就你这拦截请求的原理是怎么实现的(Java 反射),介绍一下 AOP?
cglib 动态生成的代理类是如何加载进 JVM 的?介绍一下类加载机制?
你用 DATAX 实现数据同步(MySQL 往 ES 插数据),那介绍一下 DATAX,还知道别的数据同步方案吗?
那现在如果让你在正在运营的生产环境里实现动态的数据同步,你怎么做?
那静态的呢,就没有新数据进来,怎么保证同步的数据一致性,你是觉得一定不会出问题吗?
实习写的垂直分表怎么做的?
说一下 MySQL 隔离级别,默认是哪个?可重复读解决了什么问题?
现在有个表,一列 id,一列 name,说一下幻读是怎么发生的?
你提到了锁,那你写个加锁的 sql 解决你刚刚说的幻读?加的什么锁?(记录锁+间隙锁)
for share 和 for update 有什么区别?
where id > 10 会加锁吗?什么锁?id > 20 的记录会不会被锁?
where name > "test1" 会加锁吗?为什么?
手撕:1490. 克隆 N 叉树(不能用递归)
又是全程没问项目经历,二天后晚上19点约三面
12-25,三面(1h)
自我介绍
Java 线程模型?一个 32 位操作系统,4G 内存能开多少线程?一个线程占用内存的数量级觉得应该是多少?
Java 线程池的底层结构?如果没有空闲线程,任务怎么办?等待的任务会占用 CPU 吗?
Java 有哪些并发工具类?介绍一下你提到的 synchronized 和 ReentrantLock?该怎么选用?
手撕:三线程交替输出斐波那契数列
Redis 的 zset 类型查询单个数据的时间复杂度?能优化成O(1)吗?插入的复杂度呢?
还有哪些结构插入和查询复杂度是O(logn)的?MySQL 索引用的什么结构?为什么要用 B+ 树?
MySQL 一张表能创建几个 B+ 树?什么情况会回表?
现在线上有一个接口延迟高,你怎么优化和排查?
那要是我在测试环境延迟正常,但在生产环境延迟高,你觉得什么原因?
那现在下游服务接口延迟高但是暂时没法优化,怎么办?
三面发挥不是很好,问的比较开放。两天后挂,问HR说面评主要是觉得代码写的慢,还有基础知识得补补。多线程的题确实没怎么准备,不过也只写的18min左右。面了快一个月了,可惜了😞
#字节##26届日常实习##凉经##北京#