首页 > 快手 Java 后台面经,已意向书
头像
IamHYN
编辑于 2020-08-22 10:23
+ 关注

快手 Java 后台面经,已意向书

周五晚上收到了意向书


下午 HR 加了微信,说周五会给意向书。


快手提前批只有两面技术面吗,看有的大佬会有三面,是我太菜了吗,感觉我的两面技术面都挺基础的。昨天晚上正在理发,快手 HR 来了电话,9点半竟然还没下班🤣,我当时说不太方便,然后改到了今天上午。

8.8日 14:00 快手一面 57min

之前发过一次一面面经,这次和二面的一起发了

  1. 自我介绍

  2. 二话不说,先写一个LRU,吭哧吭哧写了二十多分钟,之后面试官给提了一些优化意见。

  3. TreeSet 和 HashSet 是怎么比较元素是否相等的?

  4. Integer 和 Long 的 hashCode() 方法实现有什么区别?

  5. ConcurrentHashMap 原理,1.7 和 1.8 区别。

  6. 线程池有哪些参数,执行流程是怎样的?有哪些常用 BlockingQueue,区别是什么?拒绝策略有哪些?shutdown() 和 shutdownNow() 有什么区别?

  7. synchronized 和 ReentrantLock 区别?ReentrantLock 实现原理,AQS 原理,CountdownLatch 和 Semophore 的作用?

  8. ThreadLocal 原理,线程池中使用 ThreadLocal 会有什么问题,为什么?软引用和弱引用有什么区别?

  9. 单例模式有哪些实现方式?双重检查锁怎么实现,为什么用 volatile,序列化破坏单例了解吗,怎么避免?

  10. 聚簇索引和非聚簇索引区别,sql 语句执行有哪些步骤?

  11. 事务隔离级别有哪些?可重复读怎么解决幻读?binlog 有什么作用?

  12. MySQL 存储时间有哪些数据结构?有什么区别?

  13. Redis 想要提交多条命令,但是只有一次 Round-Trip 怎么实现?pipeline 了解吗?持久化方式有哪些,区别是啥?AOF 重写介绍一下,fork 子进程有什么影响?

竟然没有反问环节,有点慌...


8.12 10:00 二面 55min

  1. 自我介绍。

  2. final 关键字的用法。

  3. 在哪些情况下,变量虽然没有使用 final 显式修饰,但还是被编译器提示不可修改?

  4. 谈谈你对 SpringBoot 的理解,主要解决了哪些问题,集成了那些第三方框架?支持哪些数据源?

  5. 说一下进程和线程的区别?Java 里的进程和线程是怎么体现的?

  6. 基础知识先聊到这里,下面来写个代码:有一张桌子,桌子上有一摞一摞的盘子,每摞盘子的数量是已知的,数量是无序且不等的,现在需要你去挪盘子,通过尽量少的挪动次数,使每个位置上的盘子数量趋于平均,需要你打印出每一次挪动盘子的动作,比如从位置 a 挪到位置 b (a和b是数组的下标),那就打印 a->b。输入是一个无序数组,输出是每一次挪动盘子的过程。这道题写了挺久,加上跟面试官讨论的时间都半个多小时了。

  7. 代码先写到这里,我们在聊些别的问题,关于 Java 并发编程,你都了解哪些方面?

  8. Java 最经典的 synchronized 关键字,你了解它的用法吗?

  9. 同步代码块中怎么释放锁?Object.wait() 的底层原理是什么?或者说 wait() 和 notify() 的机制在底层是怎么实现的?

  10. JUC 包下常用的锁有哪些?ReentrantLock 中有个 Condition ,你了解吗,一般怎么使用?

  11. 你在实际项目中有没有用过 MySQL 的一些高级功能,比如事务之类的,使用场景是什么?

    使用场景这个记得不太清楚了,答得磕磕巴巴,然后面试官说你没实际用过的话就不用说了...

  12. 你简单介绍一下 MySQL 的隔离级别吧。

  13. 反问环节。


8.19 10:00 HR 面 15min

都是一些常规问题吧,比如在学校的经历,实习经历,发展规划和意向城市等,最后说周五前会给结果。许愿 OC。

更多模拟面试

全部评论

(21) 回帖
加载中...
话题 回帖