技术面试笔试基础知识清单

来源:互联网 发布:蛋白序列数据库有哪些 编辑:程序博客网 时间:2024/05/08 12:53

此博客整理的仅仅是针对找后台开发、数据挖掘、机器学习的岗位

  • 计算机基础
    操作系统与分布式、数据结构与算法、计算机网络、计算机组成原理、数据库
    (可对照《技术之瞳》以及接下来要介绍的重点知识进行学习)

  • 开发语言

    Java+Python+C++
    目前我主要使用Java,但是估计以后深入做机器学习需要转C++


  • 操作系统知识点

    • 线程与进程
    • 线程如何同步
    • 进程间通信方式
    • 进程调度算法
    • 缓存算法
    • 死锁问题
    • 文件系统
    • 虚存
    • 滑动窗口协议
    • 内存分配策略
  • 计算机网络知识点

    • 网络模型:五层协议的体系结构以及ISO模型(具体到每一层是干嘛的,有哪些协议)
    • ping的原理
    • TCP与UDP的区别
    • TCP的三次握手、四次挥手(具体到状态转换,可参考《技术之瞳》的TCP状态转换图)
    • TCP如何实现可靠传输
    • TCP拥塞控制
    • TCP流量控制
    • Java实现TCP/UDP Socket编程
      (socket 和 DatagramPacket) (会写代码)
    • TTTP、HTTPS的区别
    • 网络安全协议
    • DNS和ARP/RARP网络寻址过程
    • HTTP1.0和HTTP1.1的区别
  • 数据结构与算法

    • 链表
    • 7大排序算法与复杂度分析(都要能做到手写代码)
    • 队列与栈
    • 二叉树、满二叉树、完全二叉树
    • 二叉树的前中后序遍历+广度遍历+深度遍历
    • 图的遍历以及存储结构
    • 单源最短路径+拓扑排序+最小生成树 算法
    • 建堆的过程
    • 字典查找树+红黑树
    • B树 B-树
    • hash算法的原理
    • Map接口的实现类底层实现
  • 数据库

    • 事务的ACID
    • 范式1NF 2NF 3NF BCNF
    • 索引的原理和作用
    • 常用sql命令:分组查询(avg、max、min)复杂连接查询(join、 left-join等 )group by 嵌套查询
  • 计算机组成原理

    • 原码、反码、补码
    • 位运算

以上都是要从现在开始复习的基础知识,加贝先森要加油!!!


该部分是专业方向需要补充的知识

  • 机器学习理论基础:周志华《机器学习》+ 吴恩达公开课+李航《统计学习方法》

  • 数学:《微积分》+ 《线性代数》+《随机过程》+《概率论》(求导、求极值、最小二乘法、矩阵求逆、泊松分布、正态分布、期望、方差、条件概率等)

  • 实践:《机器学习实战》+ 《集体智慧编程》
    在以上理论知识的基础上,进行实践(天池比赛)

任重而道远


如何准备:

  • 长期准备

    • LeetCode每天2-3题,复习前一天的题(练bug-free)(4月-9月)

    • 计算机基础:看书+网上做笔试题(每天解决2-3个知识点,反复复习几天,做到理解深刻 笔试题:牛客)(4月-7月,7月之后可以针对性复习)

    • 专业知识:先看西瓜书,不懂得数学再回去补(4月-6月过一遍理论知识,7月开始深入了解+动手实践)

  • 项目准备:最好参加天池的新人赛


目前的计划是这样的,对于每个知识点的学习情况我将会不断更新,此博客也用于监督我的学习过程

0 0
原创粉丝点击