一、确定一门精通的编程语言。
(资料图片仅供参考)
C++
Java:深入理解Java虚拟机
二、刷算法题
大厂经常用来做笔试题。
看算法导论。
刷ACM、leetcode题目。
算法比赛:拿个奖。
三、重视数据结构
时间复杂度、空间复杂度。
数组、链表:搞懂并创造。
平衡二叉树、红黑树、哈希表、堆、捅、图:用数组和链表的方式去创造下,增量因子设置多大,为什么要设置那么大??
四、计算机组成原理
计算机网络:
几个层?
TCP/IP的三次握手、四次挥手过程?为什么要这样设计?
抓包怎么抓?
《计算机组成与设计》
操作系统:
《操作系统——精髓与设计原理》
手动实现Linux内核
内存
分配
调度
进程
线程
数据库:
写sql语句
几大范式定义的概念
数据库事务的ACID
隔离层级分别保障的粒度和存在问题
sql的优化和套路
查询优化的策略
db层级的优化
MySQL存储引擎之间的区别
索引原理
索引数据结构与算法
为什么采用这些索引?
索引的优缺点?
编译原理:
如何实现一个简单的编程语言?
关键词: