快手校招中的面试经历:成功获得快手秋招意向的求职经验分享与面试
个人背景
- 学历:双非本科 211硕士,非计算机专业;
- 实习经历:在一家互联网小公司实习两个月。
时间线
快手的招聘流程没有笔试,而且简历投递后可以无限次复活。因此在简历完善后,我立即申请了快手。
- 7月28日:投递简历;
- 8月3日:第一次面试;
- 8月9日:第二次面试;
- 8月15日:第三次面试;
- 8月17日:HR面试;
- 9月1日:收到意向通知。
面试经历
一面
- 自我介绍;
- 讲述实习期间的工作内容;
- 删除链表的倒数第n个节点的算法;
- MySQL事务特性;
- MySQL事务的隔离级别;
- MySQL的默认隔离级别及其底层实现;
- 详细讨论MVCC;
- MySQL索引的底层存储结构;
- 对Java中的锁的理解,Synchronized的实现原理;
- Redis哨兵模式及主节点选举机制;
- Redis的持久化方式;
- OSI七层模型;
- TCP的三次握手及其重要性;
- TCP的四次挥手;
- 编写一个线程安全的单例模式;
- Java的类加载过程;
- Spring Bean生命周期。
二面
- 自我介绍;
- HTTP与HTTPS之间的区别;
- HTTPS如何确保传输安全;
- HTTPS中证书的作用;
- 服务掉线时,线程池中任务的处理方式(考察线程池关闭的不同方法);
- 如何解决内存泄漏;
- Redis的线程模型介绍;
- 单线程Redis如何执行内存淘汰策略;
- Redis的全量同步与增量同步;
- 当Redis主节点宕机后,如何在从节点中选举出新的主节点;
- 介绍G1垃圾收集器及其回收过程,并与CMS对比;
- 天平秤劣币的讨论;
- 最小覆盖子串的算法。
三面
- 自我介绍;
- 从两个项目中选择一个复杂度较高的进行介绍;
- 当库存为10万且有100万用户抢购时,系统瓶颈及优化方法;
- 单体系统中,当用户线程从1增加到1万时,潜在崩溃点及解决方案,思考过程的分享;
- 在超卖场景中,如何缓解MySQL的写入压力,并提出解决方案;
- 两张表存储在不同数据库时,如何保证事务一致性(仅简介SpringCloud的分布式事务及Seata的使用,没有深入原理);
- 毕业时间;
- 是否可以提前实习;
- 对未来职业发展的规划;
- 实习与校园学习最大的不同之处。
HR面
常规的HR面试问题。
评论
匿名评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果