计算机专业的你必须牢记这12个黄金规则,才能在北上广深立足

本科研发钢的要求如下
1、算法题,(笔试,面试必考)
参考书
《剑指offer》,《leetcode》
ACM
2、数据结构
AVL,哈希表这些简单的数据结构要自己实现过
链表,线性表必须熟悉到不能再熟悉了,
eg:vector为什么要加倍扩容,
BBST
3、计算机组成原理,
《深入理解计算机系统》以及配套实验
4、计算机网络
应用层,传输层看完即可
杆件在于搞懂TCP协议为什么这么设计,为什么三次握手,四次挥手,wires hark抓包遇倒三次快速重传会怎么样
5、操作系统
MIT6.828做
抓住重要部分,不要沉迷于技术细节
内存分配,调度,多线程这几个点都要深入理解一下。
6、数据库
SQL度的诙谐,
几个范式要正式运用过
在做项目的时候,数据应该如何组织,才能够使得每次查询的开销最小
数据库实现是个很好的方向
7、编译原理,
深入研究编译器,
作为一个普通开发人员,编译器的各种选项,不同度的优化级别具体优化了什么,这些都得了解
最关键的动态链接,静态链接,头文件,gcc的include选项,link选项,defind选项,
make file/cmake怎么写?
chang icc gcc到底用起来有什么区别
8、编程语言,至少擅长一门语言
C++ effective 三部曲对象模型要看完
Java JVM虚拟机要理解
9、具体岗位需求,
比如
后端开发要熟悉网络编程,
UNP得好好看
10、项目
GitHub 参与开源项目
上面5,6,7任何一个,花上半年时间去实现一个简陋得原型。(比如实现一个简单得内核,)都是非常好的简历加分项
11、英语
英文面试
如果遇到问题 可以上Google StackOverflow 找到回答并且独立解决
或者坚决从来没接触过的难题
12、信息采集能力 ,
这个能力其实最关键
深研LLVM