当前位置: 首页 > 面试经验 >

快手 | Java开发工程师 | 一面,二面,三面 (OC)

优质
小牛编辑
88浏览
2023-05-12

快手 | Java开发工程师 | 一面,二面,三面 (OC)

前言

4月26号投递,4月27号一面,4月28号二面,5月6号三面 + HR面,5月9号offer

一面(4月27号,1h20min)

自我介绍

集合

  1. 了解哪些集合?
  2. HashMap 和 TreeMap 的区别?
  3. HashMap jdk8与jdk7区别?
  4. HashMap为什么线程不安全?
  5. JDK1.7中的 HashMap 使用头插法插入元素为什么会出现环形链表?
  6. 哪种HashMap是线程安全的?
  7. ConcurrentHashMap 的1.7版本和1.8版本的实现原理?
  8. CAS机制在ConcurrentHashMap有哪些具体体现?
  9. ConcurrentHashMap为什么在1.7使用分段锁,1.8使用CAS + synchronized?

JUC

  1. 线程有哪些状态?
  2. sleep() 方法和 wait() 方法区别?
  3. 偏向锁是什么?轻量级锁是什么?
  4. 讲一讲synchronized锁升级过程?
  5. CAS了解多少?
  6. CAS底层实现原理?
  7. AQS了解多少?
  8. ReentrantLock公平锁实现原理?
  9. ReentrantLock非公平锁实现原理?
  10. 线程池有哪些核心参数?
  11. 讲讲线程池的工作方式?
  12. 如果线程到达 maximumPoolSize 仍然有新任务来临,并且该任务的优先级比较高,不允许直接丢弃,希望该任务立即执行,如何处理?

计算机网络

  1. TCP拥塞控制如何实现?
  2. 什么是快重传和快恢复算法?
  3. 每一层对应的网络协议有哪些?
  4. WebSocket 与 Socket 的区别?
  5. HTTP与HTTPS的区别?
  6. HTTPS为什么是安全的?

Redis

  1. Redis过期键的删除策略有哪些?
  2. Redis删除策略的优点和缺点有哪些?
  3. 什么是热点Key问题?什么样的key被称为热key?如何解决热点Key?
  4. Redis是单线程的吗?
  5. Redis String类型的底层是如何实现?
  6. 为什么Redis要用简单动态字符串 SDS?
  7. Redis Sorted set类型的底层是如何实现?
  8. 为什么Sorted set底层不用二叉树,平衡树实现?
  9. 讲一讲Redis持久化机制?
  10. 如果我采取AOF持久化方式,并且想要高可靠性保证,选择哪一种写回策略,为什么?
  11. 如果我想要数据不能丢失,如何让RDB和AOF混合使用来满足我的诉求?

Spring

  1. 讲一下Spring中的bean生命周期?
  2. 讲一下Spring事务的传播机制?
  3. 有时候在一个大的事务中,需要执行一些小的业务操作,这些小的业务操作可以单独成功或失败,不影响大的事务,这属于哪种事务传播机制?
  4. 如果当前存在事务,则使用当前事务,如果当前不存在事务,则无事务执行,这属于哪种事务传播机制?

MySQL

  1. 什么是MVCC?
  2. 讲一讲MVCC的实现原理?

实习经历(10min)

场景题

  1. 实现一个权限框架可以做到,对同一个对象,不同的角色可以访问到的对象字段不一样。比如对于员工对象,领导可以看到员工的手机号,而普通人看不到员工的手机号。

算法题

  1. Leetcode 69. x 的平方根

反问

  1. 部门的业务(商业化技术-广告投放)
  2. 部门的技术栈(Java)?
  3. 后续的面试流程(一共4轮面试)

二面(4月28号,1h)

自我介绍

实习经历(15min)

简历项目(15min)

Redis

  1. Redis过期键的删除策略有哪些?
  2. Redis能实现ACID属性吗?
  3. Redis的事务可以保证原子性吗?为什么?
  4. Redis的事务可以保证一致性吗?为什么?
  5. Redis的事务可以保证隔离性吗?为什么?
  6. Redis的事务可以保证持久性吗?为什么?
  7. Redis中的事务是否支持回滚?
  8. Redis中AOF 和 RDB持久化方式的区别?
  9. 渐进式rehash实现过程?

计算机网络

  1. TCP/IP四层模型,五层模型?
  2. HTTP与HTTPS的区别?
  3. TCP 和 UDP 的区别?
  4. 有哪些应用使用的是TCP协议,哪些应用使用的是UDP协议?
  5. 用户输入网址到显示对应页面的全过程?
  6. TCP协议如何保证可靠性?

算法

  1. LeetCode 146. LRU 缓存
  2. Leetcode 215. 数组中的第K个最大元素

反问

  1. 部门的业务?
  2. 部门的技术栈?

三面(5月6号,40min)

自我介绍

实习经历

  1. 介绍一下三段实习分别做了哪些工作?
  2. 介绍一下在字节实习做的业务和方向?
  3. 对广告投放系统了解多少?
  4. 如果让你设计一个广告投放系统,你会怎么考虑?
  5. 共享屏幕,画一下广告系统整体链路架构图?
  6. 介绍一下字节实习部门在整个广告系统的位置,以及为什么需要这个部门?
  7. 结合实习经历,讲一下对设计模式的理解?

其他

  1. 对未来的规划有哪些?
  2. 现在还在字节实习吗?在哪里租的房子?
  3. 选择一家公司最看中的一个因素是什么?为什么?
  4. 自己身上的优点和缺点有哪些?
  5. 最近有关注哪些技术热点和阅读哪些技术书籍?
  6. 为什么写博客?什么时候开始写博客的?
  7. 有没有考研的想法,为什么?
  8. 遇到的最大的一个困难是什么?如何解决的?

反问

  1. 部门的业务?
  2. 部门的技术栈?

HR面(5月6日,10min)

  1. 手里的offer有哪些?
  2. 字节实习的经历?
  3. 然后就是介绍快手福利,薪资待遇

投递记录

杂言

有一些牛友比较关心我的八股文是怎么背的,八股文我是自己总结的,内容不多,大概40w字左右,需要的后台私信。另外还有简历上的项目,简历上写了2个项目,一个偏业务,一个偏轮子,都是和Redis有关的,所以大家看面经也能注意到Redis的内容偏多,因为我这方面掌握的比较好点,所以面试都往Redis引。项目和笔记都总结到一块了,需要项目的话,同样后台私信即可。

另外还有牛友对我的学历比较关心点,本人某不知名双非院校,本科,无知名竞赛,无开源经历,一路走来实属不易,从去年3月份春招找实习开始一路面到了今年5月份,从中厂实习跳到大厂实习,从转正失败到后来的大厂offer,时间跨度长达一年多。

至此,求职经历算是画上了一个句号。最后将罗翔老师的一段话送给所有正在求职的23届,24届同学:我非常欣赏功夫熊猫中的一段台词,它说什么呢?你患得患失太在意从前,又太担心将来,有句话说得好,昨天是段历史,明天是个谜团,而今天是天赐礼物,像珍惜礼物那样珍惜今天,大家好好把握今天,因为我们没有任何一个人能够知道,我们是否真的可以拥有昨天,也不要为过去而后悔,因为后悔没有意义。

笔记截图

#牛客在线求职答疑中心##快手##offer##面试##双非本科求职如何逆袭#
 类似资料: