985硕士粉秋招拿下快手44万offer,面试资料学习经验分享 学习经历 看过的书(完全按照时间顺序排序) 快手一面 快手二面 关于面试

本文章来自秋招粉丝的亲身经历,秋招准备及互联网面试找工作经历,又是一个需要分析offer的粉丝,感谢他的走心分享

老规矩面经和学习经验分享,剩下的就是微信回复他

17号分享

985硕士粉秋招拿下快手44万offer,面试资料学习经验分享
学习经历
看过的书(完全按照时间顺序排序)
快手一面
快手二面
关于面试

 

先说自己的经历吧,我是本科某 211 机械跨考计算机的,运气好进了某 985 高校

本科只接触过 C 语言和数据库概论,学习 java 是从去年的 8 月 24 号开始的,在 B 站找了清华大学老师的 java 课程,也算是启蒙课程

后面就按部就班的学,每天除了上课,吃饭,睡觉,就是去图书馆狂补本科落下的知识,好在宿舍有大佬在,不会的晚上回去一起交流

看过的书(完全按照时间顺序排序)

  • java 基础方面(以黑书和核心技术卷一为主,先核心技术再黑书,github 也有大佬参与翻译 java 8 那本书,同样可以去看看)
  • 数据结构(推荐使用红算法那本书,java 语言写的,很适合看)
  • 计算机基础知识(看了一个 CSAPP,其中涉及网络的可以不看)
  • 设计模式(用的 head first,不全但是适合入门)
  • MySQL 方面(InnoDB 存储引擎那本书,比较晦涩,需要多看多翻)
  • jvm(深入理解 jvm 那本书,写得很棒)
  • java 并发(并发编程的艺术那本书,前三章比较晦涩,需要先看 jvm 再看这本书,leetcode 有并发编程题,可以练手)
  • 计算机网络(推荐图解 http 和图解 tcp/ip 这两本,前者完全够用,后者看时间可能需要看黑书补充)
  • Linux(私房菜 + 练习,反正虚拟机搞坏了大不了快照处理)
  • Redis(之所以不和 MySQL 放在一起,在于 MySQL 才是重中之重,先学好 MySQL,再学其他的。看的就是那本 Redis 设计与实现,看得很快,从基本结构出发,能很清楚看到具体的实现细节)
  • java web(笔者是寒假在家学的,由于疫情原因,延长假期,得以将 网络编程 -> java web -> ssm -> spring boot 这个学了一遍,也看了一部分源码)
  • Kafka ZK Dubbo(这三者放在一起,是因为笔者发现面试越来越喜欢问分布式知识了,这种东西你可以直接八股文背诵,但是事后还是需要系统学习,视频(博客) + 官方文档 + 书 + 源码)

 

快手一面

  • 项目相关
  • kafka 的消息的顺序一致性如何保证,kafka 的消息可靠性如何保证,kafka 的 controller 选举和 leader 选举
  • 让 A 线程等待 B 线程有哪些措施
  • ReetrantLock 和 sychronized 关键字区别
  • 如果我有一个 http 的 api 方法,这个方法突然执行耗时较平时长,可能存在的问题,如何进行排查
  • gc 中新生代有两个 survivor 区,这两个 survivor 起到什么作用,为什么需要两个 survivor 区,如何调整大小
  • CMS 和 G1 之间的区别
  • 输入 www.nowcoder.com 发生了什么,浏览器如何展示 html 页面
  • Bean 的循环依赖如何解决
  • Spring 在哪些地方用了什么设计模式
  • 享元模式、代理模式、模板方法
  • 算法题:设计适用于手机 9 键输入法的数据结构和算法具体要求:键入一个 4,应该返回所有以 g/h/i 开头的字符串;键入 43,应该返回以 g/h/i d/e/f 两两组合开头的字符串

快手二面

  • 项目相关
  • 线程的状态以及其对应的调用方法
  • java 中的锁有哪些及其底层实现原理
  • 网卡中的数据如何被加载到内存中
  • BIO / NIO 的区别,如果 NIO 的 channel 一直为空,cpu 是否会飙高
  • redis 作为内存数据库有哪些优点
  • redis 的 cluster 模式如何进行通信,redis 中新增节点时的 slot 重新分配
  • 100G 的数据文件存有字符串,找出出现次数最多的字符串,限制内存使用量为 4G
  • 算法题:设计一个能产生随机数的算法,并且产生的随机数必须是之前并没有出现的

关于面试

从 8 月开始面试一直持续到 10 月,两个月拿的 offer 确实对得起自己去年一整年的努力,但由于时间关系,分布式和具体的项目经验尤为欠缺。面试中同样会问及场景题,这个就需要自己平时多看多想,比如看视频的时候,老师也会提到这种东西有什么好处,可以干啥干啥,这个你同样需要留心,在面试时候说不定也能临时救场。

分布式这种东西,面试基础不会出现太难的问题,大多都是皮毛问题,但是这些问题你不看,你就完全不懂,但是你只要花个几天的时间去看,你就可以速成分布式的面试问题。这个笔者在面试时经常吃亏,后面只好逼着自己学。

项目经验这个确实是跨考生的痛苦,但是面试不在于你的项目多酷炫,在于你对项目的理解程度,这些不仅仅是各知识点的堆积组合,更要说明你为什么要用这个东西。如果实在说不出来,你完全可以说为了用而用,学习练手的项目并不会要求多合理。

面试更多要求专业的基础知识,如果连 java 的 char 能不能存储汉字都不知道,你却搞一些分布式杂七杂八的,面试官只会觉得你过于浮躁。数据结构 + tcp/ip 协议书 + 操作系统 必须重点掌握,java 基础 + 设计模式 + MySQL + Linux + 并发 + jvm + web 同样也是重点,分布式虽说是加分项,但是计算机专业的学生内卷极其严重,分布式他会你不会,怎么可能要你。

 

希望用这些最真实案例给想学编程的萌新一些参考,学习的路上不再迷茫。

关于这位粉丝的面试题答案我也整理好了,需要的可以:点击这里!!暗号博客园

开发手册系列:

Java核心知识点

985硕士粉秋招拿下快手44万offer,面试资料学习经验分享
学习经历
看过的书(完全按照时间顺序排序)
快手一面
快手二面
关于面试

 

框架篇

985硕士粉秋招拿下快手44万offer,面试资料学习经验分享
学习经历
看过的书(完全按照时间顺序排序)
快手一面
快手二面
关于面试

 

原理篇

985硕士粉秋招拿下快手44万offer,面试资料学习经验分享
学习经历
看过的书(完全按照时间顺序排序)
快手一面
快手二面
关于面试

 

核心知识

985硕士粉秋招拿下快手44万offer,面试资料学习经验分享
学习经历
看过的书(完全按照时间顺序排序)
快手一面
快手二面
关于面试

 

阿里巴巴开发手册(汇总)

985硕士粉秋招拿下快手44万offer,面试资料学习经验分享
学习经历
看过的书(完全按照时间顺序排序)
快手一面
快手二面
关于面试