秋招总结|我的Java乱卷之路
一、准备进度
我的进度是寒假回家后开始刷LeetCode的题,前期是乱刷,后面跟着书按类型刷,刷题的同时看周志明老师的《深入理解JVM》,强烈推荐;寒假还刷了一遍《MySQL必知必会》,可以复习一些SQL。
开学后就开始投各种实习,面了腾讯11次,好几次都到最后一面了,但是最后因为实习时间无法保证没去成。我个人建议实习就算没法去,也要投,提前熟悉熟悉面试流程和知识点的侧重点比较好。
然后开始上午刷题,下午看知识点,我不建议背题,这样知识不系统,很容易忘,而且大厂会根据你的回答继续深挖,你背应付不过去的。
实习面了差不多了就建议别面了,好多大厂会有记录,我就是实习面腾讯面得多了,结果秋招人家都没捞我。
像Java容器这种可能没有具体的书籍,你得多去看看掘金啥的,把常见的容器总结总结:HashMap、ArrayList、LinkedList等等。
等到了秋招就可以开始投了,我今年感觉其实提前批很多时候比正式批简单,特别是大厂,不要怂,很可能正式批HC就没多少了,不好进了。
当然等你拿到第一个Offer的时候,你就不会慌了,就会松弛很多,这个时候最重要的就是心态和总结。不要碰个壁就不行了,难受好几天。每次面试写写面经,复盘复盘收获很大。一定要把面试不会的问题下来弄懂,要不然就白面了。
当然你肯定会碰见不太行的面试官,比如我碰见的很多字节跳动面试官就很无聊,问一些稀奇古怪的问题,后面我有保底offer后碰见这种,在反问环节我就把这些问题问回去,恶心恶心他。
书籍/课程 | 推荐程度 | 备注 |
---|---|---|
码出高效:Java开发手册 | 不太推荐,感觉啥都想讲,又啥都没讲清楚 孤尽老师还尽整一些偏知识点来大将特讲 | 但是我看这本书时啥都不知道, 可能是有一定知识储备后再看会比较好。 |
02-Java核心技术面试精讲-极客时间 | 很不错的课程,条理化具备了。 | |
88-高并发系统设计40问 | 不错的课程,可以看看用来对分布式相关有个概念 | 之前记错了,刚翻笔记发现这门课还不错 |
JavaGuide面试突击版 | 题库式,拼凑怪,可以救急但不建议押宝 | 好多人喜欢用这个速成,但是真的不推荐 |
Java并发编程的艺术 | 并发讲的还算可以,但是有些老; 这方面目前没找到别的比较好的资料 | 实在读不下去可以试试老外的并发编程的实践 |
LeetCode 101 | 我刷算法题用的这个,c++写的,我看思路 然后自己实现,实现不了把c++翻译成Java,防止自己直接抄 | 一个谷歌无人车项目工程师开源的,github可以下载 |
MySQL必知必会 | 复习SQL语句很好,可以很快过完 | |
MySQL技术内幕 InnoDB存储引擎 | 太老了,拿5.1版本举例; 现在最起码都是5.7版本了 | 不建议看了 |
06-MySQL实战45讲 | 一定要看,拿下这门课,MySQL面试官基本问不住你 很多时候你可以拉着他分析 | 有的章节难度大,建议反复看看。 但是join那里过过就行了,面试官不太问 |
Redis深度历险:核心原理和应用实践 | 值得读,不是特别细节化,对Redis来说够用了 | 要是最后redis方面还是扛不住面试官,整整Redis设计与实现 |
剑指OFFER | 最起码刷一遍 | 面试过程中很多原题的 |
深入理解Java虚拟机 | 一定要看,有些章节我看了不止一遍 | 但是机器码啥的那块就不用多看了 |
图解网络-小林 | 严格来说不算书,一个博主的博客集合,值得一看 | 我的HTTPS大框架最后就是这个书里看懂的 |
图解系统-小林 | 过知识点比较好 | |
115-RPC实战与核心原理 | 可以一看,我同学力推的。当时是我RPC老被问住,但是看下来觉得有些文章有凑数的嫌疑。 | 可能受限于我知识储备,个人觉得一般 |
advanced-java | 比JavaGuide之流强多了,分布式知识可以看一遍这个,比较系统化 | github上的开源项目 |
05-趣谈网络 | 好课程,网络把这个拿下,网络方面别人问不住你 | 后悔时间晚了点才知道课程,开始读的时候秋招都结束了。 |
凤凰架构 | 周志明老师的新作,有开源文档。 | 受限于知识储备,我不太能拿下这门课,还在阅读中。 |
07-如何设计一个秒杀系统 | 可以一看,但是中等推荐,内容不多,不算浪费时间,但是个人觉得一般。 | |
09-后端技术面试 38讲 | 有一种听大公司宣讲的感觉,不知道和后端面试有啥关系 | 很可能是我技术储备问题,听不明白,但是我不推荐这门课。 |
二、知识点篇
1.关于框架。我这块并没有整的很明白,但是AOP、IOC这种高频还是等弄明白,其实这两个概念,特别是IOC已经很复杂了,一时半会不是那么能懂的,建议从知乎、掘金上慢慢看,一个概念一个概念解决(控制反转、依赖注入等),知乎上虽然有些大佬能起到醍醐灌顶的作用。SpringBoot启动流程啥的,我确实没弄明白,太复杂了,面试的时候大概被问到一两次,我直接说我不会。
2.开源组件。ZooKeeper、NginxDub、dubbo之类是加分项,能会最好,但是学生时期并没有并发的场景,面试官也能理解,对这些要求并不高。建议把互联网常用的那些组件大概明白是用来做啥的就行。但是消息队列建议还是尽量去用用,上手容易,面试官会问。
3.设计模式。这块我也没太整明白,特别是开闭原则这种,我只理解了一部分,有些公司倒是爱问这些,个人觉得有个大概了解就行。
4.基本知识。操作系统和网络一定得拿下,面试官很爱问,但是除了常见高频问题外,有些内容很见功力,比如HTTPS,异步IO这些。至于组成原理啥的我觉得没必要复习,除了字节和滴滴有一次问我这些神奇问题外,别的家都没问过。
5.很多面试官容易问的显而易见的知识点,其实有很多东西可以挖。比如常见的TCP中的拥塞控制,我们书本中学得那一套即慢启动啥的叫RENO算法,业内谷歌还开源了一套BBR,可以有效降低传输时延,并保证较高的吞吐量。
6.线程池-jdk是计算密集型,Tomcat是IO密集型,故加了一些改进,先加线程,再放队列。
7.HashMap和同步的HashMap,里面知识点很多,啥时候扩容,为什么用红黑树,为啥要求初始化是2的次方,然后比较偏的就是为啥默认大小是16,链表>8时变红黑树。源码里写过,是在泊松分布的二项分布下通过0.75的负载因子算出来的。可以看看我写的这篇不是很好的博客总结。
8.常见逻辑题啥的总结总结,现在很多面试官喜欢整赛马、称小球这些题。
9.很多知识点比较复杂,可能得花很长时间,经常反复才能会,比如异步IO,除了多去掘金上看经典博客以外,可以翻翻经典的书,比如我真正理解finalize是看了《Java编程思想》中这里的章节。总之把握两个方面:如果一个知识点特别难懂,不是历史原因,就是你切入点的问题。比如异步IO你要是从语言角度去切入,很难理解,从操作系统切入就很容易。
10.场景题是最难整的一种,不好说,但是一些经典的需要明白。如:微信扫码登录、游戏排行榜啥的、分布式锁的两种实现(Redis实现和ZooKeeper实现的区别)。
三、算法
1.先找一本按题型分类的算法书刷一边,注意DP很重要,要多刷刷。GitHub上有好的,推荐LeetCode101。
2.然后刷剑指offer。
3.刷LeetCode中的top100,就是有个标签可以选热题,有100道,注意这100道很高频,哪怕hard也得刷,要不然容易翻车。
4.然后就是每天一道每日一题保持手感,然后重复刷剑指offer和top100。
四、小建议
1.有些厂家会因为你有大厂offer而不要你,比如我的陌陌(下面面经大汇总可以看看具体问题)和shein,但也有些可能会加分,比如美团的时候。HR面的时候要注意。
2.小公司很多其实没必要面,爱乱问,问的东西没有任何参考意义。
3.陌陌商业化面试;问得很刁钻,很多问题容易措手不及,感觉还是有技术含量。比如:10*100和100*10哪个数组内存占用大,是100*10,因为100*10有100个指针,10*100只有10个。
4.阿里会抓着你问原理,对算法反而不看重。但是原理会抓着你问。很难混进去(当然有幸存者偏差,阿里应该也有不太行的部门)。
5.腾讯面试官很参差不齐,有技术大拿,但是我也碰见过一边打游戏一边面试我的人,很无聊。但是我面微信支付第一面就面得很爽,棋逢对手的感觉。腾讯今年开得特别高,光房补就4k,可以去offershow的小程序上看看。
6.美团是喜欢问你原理的细节,有时候确实没考虑到,比如问你不可重复读和脏读的区别,大部分公司都是问你幻读和不可重复读的区别。
7.京东面试很迷,好多时候都回答上来了,但是最后挂了。最后的秋招的物流面试还行,没让你回答八股文,先给你一个简单的场景让你实现,然后一步一步复杂化。
8.小米没必要面,钱少事多,面试官态度也不太行。中兴也没必要,需要线下面,价钱一般,面试也不问技术问题。
9.今年的黑马是蔚来,能开到27*14.5,还有700股期权,分四年解锁,好多在合肥也能开到这个价钱。广联达今年在西安Java能开到20-24k*15,也不错。
10.博客写起来,但是不建议写流水账,也不建议写的和笔记一样,要有自己的思考。
简历上附上自己的博客和github或gitee。github或gitee上个人主页的贡献度亮起来,因为好多公司很无聊,喜欢问你代码行是多少,这时候可以把这个截图给他。
比较厉害的公众号:
算法:宫水三叶(我后期刷每日一题好多不会都是看三叶姐姐题解)
技术:美团技术团队(强推,质量很高),架构师之路(时水时不水,topk问题就是他给我回答了),码农的荒岛求生,techGuide(经常复盘笔试题,明年不知道还会不会),小林coding,很多技术文章可以去掘金社区,知乎上很多高质量文章都是搬运掘金的
校招薪水:到时候会总结各公司的薪酬档次
应届生职前菌:招聘信息大汇总
offershow小程序:可以查薪资
各大公司作息:一个在线文档,能看到很多公司和部门的作息,但老被举报,试试WorkingTimes小程序
下个微软的To Do,代办清单啥的,用着特别爽,把面试不会的知识点放上去,一个一个消灭。
如果有战友,可以建个语雀之类的知识小组,一起更新进度和面经。
牛客分享一些面经,管理员可能会拉你进一个微信群,都是大佬,很多问题可以讨论。
五、开奖时候的注意事项
1.构成。比如有些是绩效,有些是基本工资。比如荣耀是17+4k,17k是基本工资,4k是绩效工资,荣耀是95%的人都能拿满绩效。有绩效一定得问多少人能拿满。 2.十几薪。比如大多数公司是14薪,也有15薪和16薪的。14薪的意思是,2个月工资算成年终奖,然后按你的评级系数,这个时候要问多少人能拿满这个2个月年终奖,也就是1.0以上的系数。一般是163和172,163也就是10%是更高的年终,60%是大多数也就是3个月年终,30%是淘汰之类的,也即90%的人都能拿满。172同理。 3.社保公积金比例。缴纳基数,比例。比如上面荣耀的例子,荣耀是按17k的基本工资交社保和公积金,而且只交5%,华为也一样。一般北京大多数互联网公司都是按12%交公积金。
4.有股票的话问每年解锁比例是多少,签字费的话问啥时候发。
5.福利,补贴,餐补。
#求职必学这些知识##学习路径##书籍推荐#