表哥个人校招总结!(可能有干货吧)

其实一直想写一篇秋招的总结,不要问表哥去哪了,其实还没有决定,秋招收割了大多数互联网大厂(具体哪些就不列了,offer这个东西,能拿一家自然能拿第二家,这个大家都懂。。。说多了好像显得我在显摆自己哈哈哈。),这篇帖子的话目的其实是回馈一下牛客,找工作的时候刷牛客的频率比其他社交软件大很多(由于后面成牛客网红了,牛客也送了一些周边给我。。),希望牛客能越弄越好吧。

这篇文章其实个人感觉是碎碎念,干货可能不多,读者先做好心理准备,写得不好的话也别骂我哈哈。

好了,废话不多说。我们开始吧。。

其实抛开java不谈,其实找程序员先关方面工作的,必备的肯定是扎实的基本功,具体就是os,网络,数据结构这一些。。这一些。其实个人感觉,在学习一样新技术的时候,如果没有扎实的基础,充其量你只是个合格的使用者,很难了解到他的实质。比如说吧,nginx怎么做的转发?在没有http基础的情况下,是不大可能可以看到他的全貌的。所以有时候学习一样东西你觉得很困难,几乎不得存进,就该停下来想想,是不是我某些地方有所欠缺??之前我想看vuejs的源码(之前表哥大二的时候实习写了一年多的前后端。。),了解虚拟dom是怎么实现的,我兴冲冲的把源码下载下来一看。。唉???我怎么看不懂啊。。。。后来我明白过来,要先学Flow(vue之前是用Flow写的,现在要改成ts了),js的dom编程,和js的对象模型。。有了这些基础的情况下,岂不是可以为所欲为了???

这些题外话就不多说了。

所以我先讲的还是基础知识。。。

网络:
应用层,传输层,网络层,链路层,物理层,我面试的时候被问的基本都是前面三个。。
大部分问题如下:
应用层:
http各个版本的的变化,https。。(不会变态到问你那个协议用了哪个端口的)
传输层:
tcp udp,几件套,老生常谈的了。。。看看书就好了。。。
网络层的话就是那几个协议。。ip,arp,rarp。。。
推荐看 
《自顶向下的计算机网络》或者 谢仁希那本《计算机网络》
http的话看《图解HTTP》或者《HTTP权威指南》这两本我都看了,还是比较推荐的
网络层的话可以看《漫画IP》
额外推荐一本《网络是怎么连起来的》
tcp可以推荐一下百度Allen大佬的gitchat: https://gitbook.cn/gitchat/activity/5d6b928e86f522620c0bf127

操作系统:
我遇到的都是 线程进程的区别,虚拟内存啊这一些,稍微偏一点的会问大小端,感觉问的还是比较浅的(可能是我遇到的问题比较浅吧)
推荐看书籍《深入理解计算机系统》。。。很厚一本。。。感觉够呛哈哈哈。。。
《操作系统之哲学原理》感觉也不错,讲的比较粗浅易懂。入门可以看看。。。
如果对操作系统比较感兴趣的,可以看学习一下linux,然后《linux内核设计的艺术》《奔跑吧,linux内核》走起来。。

算法:
这个对于很多人来说可能比较头疼吧,牛客上游很多真题,也有剑指offer,和左神的课程(我听说课程很有用,十分牛逼。。。咱也不知道,可以问问听过的人现身说法吧。。)
但是个人的感觉是,笔试的时候,各种动态规划,树啊什么的,然后面试都是链表啊,二分啊什么的。。因为面试时间比较短,不会让你做太难的题目。
有一个说法是,leetcode三百题国内的公司基本难不住你了。。

但是我可以肯定的是,经典的排序算法,你要像tcp三次握手,四次挥手那样如数家珍,起码要到手写的地步,如果问道你你不会,面试官会很欣喜,你让他考虑少了一个人。
这个我不能给你搞得面面俱到,只能说,刷吧。刷就完了。
先做一些简单题,积累一些套路,比如说两数之和,会了这道简单的,后面什么三数之和,四数之和是不是so easy啊??

好了,下面我们讲讲java的,
《深入理解jvm虚拟机》《java并发编程的艺术》《spring技术内幕》《java编程思想》《码出高效》先来一套,(一套下去你可能会死),但是吧,这是jvm,并发现在都是必备技能了,
现在jvm的问题变态到问你有没有调优经验了。。
jvm你要知道运行时数据区各个组成部分存的是什么数据,看一个类的源码时,你知道哪部分运行的时候在哪,基本就差不多了。
把JMM和并发的知识链接起来,这样你JVM和并发就打通了,比如sync上锁,两个线程互斥,在JMM层面来分析一下。
我有一段时间基于这个钻研过java的字节码,觉得还是很不错的。面试还是有点加分的。(旷世面试官:应届生研究字节码的还是很少的。。你当时是怎么想的??)
并发的话推荐看看juc的源码。。(大部分源码我都看了,在这个方面还是有话语权的。。) 看看写jdk的大佬在并发方面的实践,比看干枯的理论要好很多


java基础知识,可以看java容器,string源码,包装类Integer的源码
在这里你会问,看这些有什么用。。。
容器可以了解一些设计,比如LIst-》AbstractList-》ArrayList 模板代码模式,然后ArrayList内部的迭代器实现,还有一方面是泛型的一些特性,比如<? extends T>和<? super T>一个数据消费者和数据生产者的关系在Collections.copy这个方法里面体现的淋漓尽致。
string可以看到一个不可变类是怎么实现的。为什么可以保证线程安全,final的内存语义?intern方法又可以让你重新思考一下jvm。
Integer可以学到池化机制的实现,一方面还有effective java书中一开头的静态工厂模式,也就是Integer.valueOf()方法
剩下的比如HashMap,就不说了,都问烂了。。


关于项目:
个人觉得,一个crud,一个轮子就够了。大部分后端开发的岗位都能周旋一下。。

其实归根结底就是要努力,一时的失败不算什么,谁都不是天生的收割机,但是努力的人最终都会变成收割机。。

还有一点就是保持学习,进入一个好的平台只是刚开始,打铁还需自身硬,你足够强到哪都是香饽饽,
表哥在工作期间平均下来每天刷一道算法,看了一些nginx核心模块的源码。。。。等等等等。。。贵在坚持,总有一天你的努力都会得到回馈的。。。
#校招#
全部评论
希望明年有你一半优秀
1 回复
分享
发布于 2019-12-01 01:34
大佬
1 回复
分享
发布于 2019-12-01 02:24
联想
校招火热招聘中
官网直投
强如人
1 回复
分享
发布于 2019-12-01 11:42
卧槽,还没睡
点赞 回复
分享
发布于 2019-12-01 01:52
斗宗强者,恐怖如斯
点赞 回复
分享
发布于 2019-12-01 02:25
这是神仙吧
点赞 回复
分享
发布于 2019-12-01 09:04
表哥优秀了
点赞 回复
分享
发布于 2019-12-01 09:31
表哥太强了!
点赞 回复
分享
发布于 2019-12-01 09:49
点赞 回复
分享
发布于 2019-12-01 09:58
表哥太强了!手动三连
点赞 回复
分享
发布于 2019-12-01 11:24
讲的都很中肯啊,帮表哥顶一下
点赞 回复
分享
发布于 2019-12-01 11:52
非常真实了
点赞 回复
分享
发布于 2019-12-01 12:59
表哥表面看似很拽  背后其实还是很用功啊 
点赞 回复
分享
发布于 2019-12-01 12:59
表哥,问你个问题啊,😂深入理解jvm咋看啊,理论性好强,看的头痛,感觉看进脑子里的都是强行记忆的
点赞 回复
分享
发布于 2019-12-01 13:09
表哥牛逼
点赞 回复
分享
发布于 2019-12-01 13:19
干货,说得好
点赞 回复
分享
发布于 2019-12-01 13:30
就想问下 表哥给小姐姐投的简历,都给发offer了吗?
点赞 回复
分享
发布于 2019-12-01 15:01
工作期间还能坚持刷题,太强了
点赞 回复
分享
发布于 2019-12-01 15:15
能拿这么多offer tql
点赞 回复
分享
发布于 2019-12-01 19:40
不愧是表哥!
点赞 回复
分享
发布于 2019-12-01 20:07

相关推荐

59 280 评论
分享
牛客网
牛客企业服务