CS 就业寒冬?这里有一份面试必备基础知识
作者 | 阿司匹林
2017 年国家统计局发布消息称,2016 年信息传输、软件和信息技术服务业的平均工资为 122478 元,首次打败金融业成为新霸主,是全国城镇单位就业人员平均水平 57394 元的两倍以上。
可以说,虽然程序员长吐槽自己是新时代的“码农”,加班多,时薪低,但是反映在工资上却是完全不同的情形,特别是人工智能领域的“码农”,平均年薪甚至能达到 30 万。
在互联网和人工智能浪潮的推动下,一大批年轻人选择了 CS 专业,这里面还包括各种转专业的学生。
然而,2017 年底的时候,关于 CS 毕业生就业难的问题却在知乎上特别火热。
按照知乎的传统,先问是不是,在问为什么。不过,似乎大部分答主都认同 CS 就业越来越难这一观点(横向对比),特别是对于经验不足的毕业生来说,以往挑肥拣瘦的局面早已一去不复返。
不过,也有人认为,这种现象代表着热闹的时光已经过去,现在开始回归正常,这是一个行业开始成熟的标志。
当整个行业高速发展,人才稀缺的时候,整个市场自然向“卖方”倾斜。然而,所有都公司希望招到的员工能够为自己立即解决问题,因此往往会偏向有工作经验的人才。
毕竟,一个没有经验的程序员带来的不仅仅是零输出,甚至有可能带来副输出。
作为 CS 专业的学生,或者希望向 CS 转行的学生,一定要具备扎实的基础知识,才能在未来的面试中脱颖而出,变被动为主动。
为此,GitHub 用户 CyC2018 特意整理了一整套技术面试的资料 ,该资料不仅内容详实,囊括数据结构与算法、网络、操作系统、面向对象、编码实践等领域,而且结构清晰,排版美观,易于阅读。
以下内容来自 GitHub 项目——Interview-Notebook:
▌一、网络
计算机网络
https://github.com/CyC2018/InnterviewNotes/blob/master/notes/计算机网络.md——整理自《计算机网络 第七版》,重点内容会在标题之后加 *。
HTTP
https://github.com/CyC2018/InnterviewNotes/blob/master/notes/HTTP.md——整理自《图解 HTTP》
▌二、操作系统
计算机操作系统
https://github.com/CyC2018/InnterviewNotes/blob/master/notes/计算机操作系统.md——整理自《现代操作系统》和《计算机操作系统》
Linux
https://github.com/CyC2018/InnterviewNotes/blob/master/notes/Linux.md——整理自《鸟哥的 Linux 私房菜》
▌三、数据结构与算法
算法
https://github.com/CyC2018/InnterviewNotes/blob/master/notes/算法.md——整理自《算法 第四版》,主要整理了面试常问的排序和查找算法。
剑指 Offer 题解
https://github.com/CyC2018/InnterviewNotes/blob/master/notes/剑指%20offer%20题解.md)——《剑指 Offer 第二版》的最优解,在牛客网在线编程中出现的题目都已 AC。
Leetcode 题解
https://github.com/CyC2018/InnterviewNotes/blob/master/notes/Leetcode%20%题解.md——对题目做了一个分类,并对每种题型的解题思路做了总结。已经整理了 300+ 的题目,基本涵盖所有经典题目。
▌四、面向对象
设计模式
https://github.com/CyC2018/InnterviewNotes/blob/master/notes/设计模式.md——整理自《Head First 设计模式》
面向对象思想
https://github.com/CyC2018/InnterviewNotes/blob/master/notes/面向对象思想.md——一些面向对象思想和原则。
▌五、数据库
SQL 语法
https://github.com/CyC2018/InnterviewNotes/blob/master/notes/数据库.md——整理自《SQL 必知必会》
MySQL
https://github.com/CyC2018/InnterviewNotes/blob/master/notes/MySQL.md——整理自《高性能 MySQL》,整理了一些重点内容。
▌六、Java
JVM
https://github.com/CyC2018/InnterviewNotes/blob/master/notes/JVM.md——整理自《深入理解 Java 虚拟机》,主要整理了内存模型、垃圾回收以及类加载机制。
Java 容器
https://github.com/CyC2018/InnterviewNotes/blob/master/notes/Java%20容器.md——容器的一些总结,包含容器源码的分析。
Java IO
https://github.com/CyC2018/InnterviewNotes/blob/master/notes/Java%20IO.md——File、InputStream 和 OutputStream、Reader 和 Writer、Serializable、Socket 以及 NIO
Java 基础
https://github.com/CyC2018/InnterviewNotes/blob/master/notes/Java%20基础.md——整理了一些常见考点。
▌七、编码实践
重构
https://github.com/CyC2018/InnterviewNotes/blob/master/notes/重构.md——重构是对软件内部结构的一种调整,目的是在不改变软件可观察行为的前提下,提高其可理解性,降低其修改成本。
代码可读性
https://github.com/CyC2018/InnterviewNotes/blob/master/notes/代码可读性.md——编程有很大一部分时间是在阅读代码,可读性良好的代码能够大大提高编程效率。
代码风格规范
https://github.com/CyC2018/InnterviewNotes/blob/master/notes/代码风格规范.md——Google 开源项目的代码风格规范。
资料下载:
https://pan.baidu.com/s/1o9oD1s2#list/path=%2F
GitHub 链接:
https://github.com/CyC2018/Interview-Notebook
新一年,AI科技大本营的目标更加明确,有更多的想法需要落地,不过目前对于营长来说是“现实跟不上灵魂的脚步”,因为缺人~~
所以,AI科技大本营要壮大队伍了,现招聘AI记者和资深编译,有意者请将简历投至:gulei@csdn.net,期待你的加入!
如果你暂时不能加入营长的队伍,也欢迎与营长分享你的精彩文章,投稿邮箱:suiling@csdn.net
AI科技大本营读者群(计算机视觉、机器学习、深度学习、NLP、Python、AI硬件、AI+金融方向)正在招募中,后台回复:读者群,联系营长,添加营长请备注姓名,研究方向。
☟☟☟点击 | 阅读原文 | 查看更多精彩内容