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,面试学习经验分享
posted @ 2020-11-04 13:58  入她  阅读(398)  评论(0编辑  收藏  举报