点击上方“编程技术进阶”,选择加"星标"或“置顶”
重磅干货,第一时间送达
来源:编程指北
注:这个回答是我一位同学在知乎上的万赞匿名回答,取得了他的同意,特此在这儿转发,并写下一点自己的看法。
知乎原回答链接:
问题
计算机应届生年薪大多是多少?
月薪4k,6k,8k,10k的各占百分之多少呢,想了解一下知乎上你们的就业情况。好对自己有个定位,亲身经历或则同事朋友哪些的都可以谈谈哈。
我的同事回答
能做到以下几点,绝对可以在北上杭深领到15K以上(注:这是18年的回答了):
撒比算法题,各大公司面试笔试基本都考这个,别的不说,《剑指offer》所有题目背出来,leetcode刷个四五百题至少的吧。搞过ACM也可以,反正刷个四五百题是必须的。我也认为考这种撒比算法题很撒比,但是你们都那么考,你不打算,那不挂你挂谁?
数据结构,不说要彻底给面试官手推各类数据结构的分摊复杂度,也不要求你手写红黑树,至少AVL 哈希表 堆这种简单的数据结构得自己实现过;链表、线性表必须熟悉到不能再熟悉,比如vector为何要用加倍扩容而不是每次降低一个固定的扩容容量;BBST各类都能扯一下,达到这个程度就差不多了。
计算机组成原理,至少《深入理解计算机系统》得过一遍吧?配套实验也得做一下吧?
计算机网路,这个最简单了,随便找本书,把应用层、传输层看完就行,我看的《计算机网路 自顶向下方式》。关键在于看懂TCP协议为何要如此设计,为什么是三次握手,四次挥手?书中的其他rdt模型为何不实用?我面快手的时侯还问了wireshark抓包遇见三次快速重传会怎么样,不过这本书的配套实验也有抓包内容,老老实实跟随做就是。
操作系统,这个部份我还在学习,采用的是跟随MIT 6.828做的方式。知乎上陈硕有一个关于学习操作系统非常好的回答,大意是要紧抓重要部份,不要沉溺于技术细节,我认为很对。具体的,内存分配、调度、多线程这几个点,都得深入理解一下吧。如果不想具体去研究操作系统的实现,那么如何用操作系统提供的插口这个是必须的吧,APUE了解一下?
数据库:sql得会写吧,几个范式有没有即将运用过? 在做项目的时侯,数据应当怎样组织,才能够致使每次查询的开支最小?如果想深入,数据库的实现也是挺好的一个方向。
编译原理:深入研究编译器,去钻研llvm其实很难,但是作为一个普通开发人员,编译器的各类选项,不同的优化级别具体优化了什么,这些总得了解一些。最关键的,动态链接,静态链接,头文件,gcc的 include选项、link选项、define选项(-I, -L, -D)怎么用,makefile/cmake如何写,clang icc gcc究竟真的用上去有哪些区别,这些坑作为一个开发人员迟早会碰到,越早遇见,以后遇到坑的时侯能够越轻松一些。
编程语言:总得擅长一门语言吧?C++的话,那几本书(Effective三部曲,对象模型)看完了吗?Java的话,JVM虚拟机理解得怎么样了?大厂就喜欢问这种,不好好打算那就挂喽。
具体岗位需求:别的岗位不了解,后端开发还须要熟悉网路编程,UNP得好好看。
项目:说句实话,学校里接触的项目能有多高大上?如果只是用几个框架的那个,我建议不要讲到简历上,不如去github上参与开源项目,GSOC了解一下?当然假如你的实验室很厉害,跟导师做的项目很牛逼另说。还有一条路就是里面的5,6,7,任何一个花上半年时间去实现一个狭小的原型(比如实现一个简单的内核),都是非常好的简历加分项。事实上,国外名校这种课的最后的project都是让你实现一个原型。
英语:这个笔试通常不会涉及到(除非是英语笔试),但是我一直觉得法语是很重要的能力。具体的来说,就是“遇到一个撒比问题不去打搅朋友自己微软或则bing从stackoverflow找到回答而且独立解决” 或者“老板让我去接触一个没搞过的东西我硬着头皮点开文档看了三天两页总算能解决问题” 的能力。
信息采集能力:对于中学不太好(非C9)的朋友,这个能力似乎是最关键的。最优秀的同龄人在学习些哪些?我想去的公司想急聘什么样的人才?面试会问哪些?春招秋招到底是什么,如何投递?实习真的很重要吗?这些问题,你去百度,去知乎搜索,去牛客网搜索,其实都有回答。为什么说这个能力重要?举个事例,BAT热门岗位留给秋招的坑寥寥无几,因为坑都被实习转正的朋友占了,如果你之前不知道春招,没有去实习,能去BAT热门岗位的机会自然就很无望了。又例如,秋招各家公司面试难度都显著低于笔试难度,原因一方面是筛人,另一方面是面试作弊现象很严重。如果你知道春招、秋招提前批是不用面试的,是不是你的机会又多了几分?
社交能力:几个关键字:头条白金码 、组内直推,自己去牛客搜索吧。
以上是对大专研制岗的要求。算法岗和研究生的要求我不太清楚,想必只会更高。
当然,我前面说的那些要求,对于绝大多数朋友来说都十分遥不可及。
但是,如果你在一个很普通的院校,不拿最高的标准要求自己,那你的结局就是和你的这些学长学姐一样,去个普普通通的公司,过普普通通的一生。
取法乎上,得乎其中;取法乎中,得乎其下。
最后,请容许我在这儿引用《上海交通大学中学生生存指南》中的一段话:
相比宝贵的青春,我们在念书期间所须要的杂费和生活开支几乎可以忽视不计。
我们真正投下的有价值的筹码,是时间。
面对着足以改变你人生轨迹的黄金时间,你是否倍感了它的沉重?你又是否想过要怎么计划这笔巨额投资?
如果你是一名乖孩子,每天从清晨开始好好上课,好好做作业,好好预习、复习,直到关灯时间好好睡着,过着这些积极健康、平稳中庸的生活,但是缺少有效自我支配的生活(如果根据中学的规划,你会发觉你可以自由支配的业余时间少得可怜)。
那么,你这样攻打下去,无异于把自己的青春置于保险箱里让他随着时间而凋零。
我们必须谨记这样的黄金规则:
平庸的生活方式是麻醉药。他只会禁锢你,让你没有作为,甚至没有出息地渡过学院的四年。
BB
这个同学学院是打 ACM 的,两年前专科结业就领到了国企四五十万的offer,当时我刚大三吧,只认为是神人。
仔细看他说的那些,其实是我仍然推崇的 CS 科班中学生的典型学习路线,基本上基础课跟随美国 CS 名校课程来,准没错。
能够做到 50%,应该国外 BAT 这种公司的 offer 就比较好拿了,但是问题在于,我们刚上学院的时侯虽然很难从一开始就有这么清晰而明晰的规划。
不少朋友常常是到了大三下,发现身边有朋友都领到头条、腾讯的实习offer了,突然意识到,好像快要找工作了。然后才匆忙开始认真捡上去学习,而平常都是把老师布置的作业完成就好了。
所以对于还在校的CS专业学弟学妹,有几点建议:
往期阅读链接:
丢掉那些BeanUtils工具类吧,MapStruct真香!!!
牛逼!Java 版的 “Hello World” 生产者!!
...
其他
重磅!Java交流群已成立 公众号运营至今,离不开小伙伴们的支持。
为了给小伙伴们提供一个互相交流的技术平台,特地开通了Java交流群。
群里有不少技术大神,不时会分享一些技术要点,
更有一些资源收藏爱好者不时分享一些优质的学习资料。(免费,不卖课!)
需要进群的朋友,可长按扫描下方二维码。
备注【进java群】