1. 数据结构
线性结构(array/linked list/stack/queue): array-based sequence, linked list, stack, queue
非线性结构(tree/heap/priority queue/graph/tries/hashtable/map/AVL/Btree): 字典散列表和集合,树结构和AVL/Btree, 图结构, trie字典树,
各种结构的多种实现方式及性能比较
各数据结构适用的场景
设计模式 (Design Pattern): 汇总
2. 算法
算法复杂度分析(大O表达)
枚举(enumerate),排序(online coding case也有若干排序题),递归(recurrence)和分治,贪婪(背包问题等),动态规划
图和树的遍历(深度/广度优先): 图遍历,
图的相关算法(最小生成树,最短路Dijkstra算法,多阶段决策,背包问题等)
3. 概率(统计)建模
概率论和组合数学
概率分布
算法工程师/量化分析师面试题:概率题
4. 机器学习
数据预处理(datacleaning/standardisation/vectorisation等)
四类算法(回归/关联/聚类/分类regression/association/clustering/classification)
相关问题(model selection /*overfitting*/regularisation/crossvalidation/feature engineering等)
神经网络算法(backprogation/activation function/gradientdescent等)
5. 并行编程
线程(thread)与进程(process)的区别和使用场景(IO bound/CPU bound): 线程基本,
线程间的通信方式(互斥锁mutex/信号量semaphore/条件变量/事件)
线程安全
异步编程(asyncio in Python)
多线程和同步见Linux部分
6. Python的中、高级特性
装饰器decorator/生成器generator/迭代器iterator
正则表达式: 正则.
闭包
线程与进程:见5.
Python速度慢和GIL: 参考5线程基本.
7. Linux
程序和指令、Linux系统内核与架构、Linux文件和文件夹
8. 英语
口语
精读(背诵)与泛读结合
写作和语言组织
广泛听(访谈/演讲/影视/talkshow)
9. 表达
对所从事项目和过往经验的表述,吸引面试官的注意和兴趣
10. 数据库
数据库设计原则
高效的数据库设计
NoSQL(MongoDB, Redis等)
11. 网络技术
网络协议(TCP/IP/SCP/HTTP…):HTTP/DNS/UDP/TCP/
运输层/应用层/
协议的编程实现
12. C++
基本指令:
C++脚本如何编译和运行,C++脚本的执行过程,指针,函数,引用
内存管理
面向对象的技术
13. 大数据
并行计算(MapReduce)
Spark and etc.
网友评论