无实习无项目的同学看过来,校招进大厂也不是没有可能!
本人去年也是没有实习没项目,拿到字节京东等公司的offer,目前在字节。
开头说重点:
1.一定要抓住提前批,去年七八月提前批就开始了,九月就是正式批了,好多同学的offer都是提前批拿的,而且提前批比正式批简单。七八月大部分同学在实习,没时间准备刷题八股,有的同学压根没时间面试,等正式批时,像我们这种没实习没项目的很难干过。
2.学历,基础,算法,项目。这里面学历是过基础关,基本过了后就看面试表现了,也有可能在offer排序时会看学历,不过主要是看面试评价。算法其实大部分公司考的都是常见算法,刷常见的200题差不多就行了,基础最重要,其次项目,没有项目也行,不过通过项目考验面试者的基础更能获得好感。
还有大厂面试须知,在稍微大一点的厂,都会记录每一次的面评,如果面评太差,很可能后面不会捞人,正式批挂简历诸如此类(不是绝对)。所以不建议大家0准备就面试了,很多学历较好的同学都是可以拿到大厂面试的,但是因为之前面评问题,校招无缘某大厂也是可惜。
对于基础:
我的建议是一定要深入,javaguide只能做一个参考,里面的内容不深,要结合自己的思考。例如常见的TCP握手问题,可以结合socket发送数据包与TCP优化来说(小林coding有)。拥塞控制,首先了解为什么有拥塞控制,有什么用,书本上的拥塞控制比较经典,但是目前都是改进的拥塞控制了,可以了解一下。还有https协议,是真的安全吗?这些常见的网络问题,都是有一定深度的可以挖的。对于OS,最常见的就是进程与线程的理解了,普通的回答是没法打动面试官的,得有自己的理解。还有计算机的一些基础理论,空间换时间理念的应用无处不在,细细思考即可,八股文里面有应用。对于Java后端需要掌握的基础有,Java基础知识,JVM,Java并发 数据结构与算法 os 计网 spring Redis(绝对重点) MySQL(绝对重点) Mq 微服务(可做了解)。都是常见的问题,重点是 回答只要有自己的理解即可,也要学会串联其他知识点,干巴巴的背没什么用。举个例子,页面置换算法LRU,Redis里面的LRU与Mysql 里面的LRU都是怎么运用的呢,区别呢?还有进程通信的几种方式,是否能找到设计应用呢,所有的进程间的交换信息本质都是进程通信,锁原理是哪一种进程通信方式呢?诸如此类的,将知识点串联起来。
学习知识时,知道技术背景,技术是什么,有什么用,相比较其他同类技术对比,然后说优缺点,有条理有思路的分析。
对于项目:
我采用的是秒杀项目加RPC
很多同学会觉得秒杀项目太老了,其实对于没项目的同学很难有好的项目,图书馆管理系统太简单,谷粒商城其实太大问题点太多,问露馅就不好。单独的秒杀模块设计MQ redis 等等技术,这是平时项目用不到的。还有里面的一些异步,预减库存,限流等思想都是互联网常用的,通过项目熟悉八股知识。而且秒杀项目还有一些优化点,面试官可能面了很多候选人的秒杀项目(如果第一次遇到秒杀项目那更好),你只要说你进行了一些改进与优化,那绝对比其他人好。而且网上很多秒杀项目的面经,问来问去都是那些八股,也好准备。(推荐秒杀项目前提是没什么好项目,有其他好项目自然选别的)秒杀看视频顶多一星期搞完,从0手撸项目固然好,但是现阶段没时间😂
RPC项目则是了解RPC调用原理,现在公司都有自己的内部RPC调用工具,熟悉原理能更好的定位问题。而且RPC的设计思路,自定义报文,解决粘包问题等等思路都是很值得借鉴的。不过RPC项目问的面试官不是很多,牛客论坛的项目也不错,有同学可以试试。不过我个人觉得,一个高并发一个轮子项目结合最好。两个Java项目则冗余了,技术栈都差不多,面试官也是根据项目问八股,能问的也差不多。
我很能明白没有项目没有实习还要面对导师的压力的同学此刻心里,有问题就留言或者私聊。
附上去年发的帖;
另外,附上个人内推码。点击链接也算内推啦:
字节跳动 校招内推码: 294U856
投递链接: https://jobs.toutiao.com/s/YKGqbEq
投递后可以留言名字缩写与岗位,我回复是否成功。可以帮写内推语,大概率进面试!
有什么疑问也可以留言。