面试guidemap

2020-03-07  本文已影响0人  Mc杰夫

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算法,多阶段决策,背包问题等)

Online coding cases

brainteaser


3. 概率(统计)建模

概率论和组合数学

概率分布

算法工程师/量化分析师面试题:概率题

4. 机器学习

机器学习pipeline

数据预处理(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文件和文件夹

Shell/bash文本流用户和权限存储分级存储

进程进程间通信多线程和同步进程调度

函数调用和进程空间内存Linux信号

docker、docker与虚拟机的对比

8. 英语

口语

精读(背诵)与泛读结合

写作和语言组织

广泛听(访谈/演讲/影视/talkshow)

9. 表达

对所从事项目和过往经验的表述,吸引面试官的注意和兴趣

10. 数据库

数据库设计原则

高效的数据库设计

NoSQL(MongoDB, Redis等)

11. 网络技术

网络协议(TCP/IP/SCP/HTTP…):HTTP/DNS/UDP/TCP/

运输层/应用层/

协议的编程实现

12. C++

基本指令:

C++脚本如何编译和运行C++脚本的执行过程指针函数引用

构造数据类型容器和STL

内存管理

面向对象的技术

C++命名空间和作用域限定符

13. 大数据

并行计算(MapReduce)

Spark and etc.

上一篇 下一篇

猜你喜欢

热点阅读