1. 數(shù)據(jù)結(jié)構(gòu)
線性結(jié)構(gòu)(array/linked list/stack/queue):
非線性結(jié)構(gòu)(tree/heap/priority queue/graph/tries/hashtable/map/AVL/Btree):
[字典散列表和集合]
各種結(jié)構(gòu)的多種實現(xiàn)方式及性能比較
各數(shù)據(jù)結(jié)構(gòu)適用的場景
1.1 設(shè)計模式Design Pattern
策略模式
2. 算法
算法復(fù)雜度分析(大O表達)
枚舉(enumerate),
排序(online coding case也有若干排序題)实幕,
遞歸(recurrence)和分治空厌,貪婪(背包問題等),動態(tài)規(guī)劃
圖的相關(guān)算法:
有向無循環(huán)圖(DAG)颖御、傳遞閉包榄棵、最小生成樹,多階段決策潘拱,背包問題等
Online coding cases疹鳄,Online Coding Test (C++)
3. 概率(統(tǒng)計)建模
概率論和組合數(shù)學(xué)
概率分布
算法工程師/量化分析師面試題:概率題
4. 機器學(xué)習(xí)
數(shù)據(jù)預(yù)處理(datacleaning/standardisation/vectorisation等)
四類算法(回歸/關(guān)聯(lián)/聚類/分類regression/association/clustering/classification):
相關(guān)問題(model selection /*overfitting*/regularisation/crossvalidation/feature engineering等)
神經(jīng)網(wǎng)絡(luò)算法(backprogation/activation function/gradientdescent等)
數(shù)據(jù)EDA參考下面的數(shù)據(jù)分析部分
4.1 Numpy/Pandas數(shù)據(jù)分析
Pandas數(shù)據(jù)分析-數(shù)據(jù)篩選
Pandas數(shù)據(jù)分析-數(shù)據(jù)整理
Pandas數(shù)據(jù)分析-數(shù)據(jù)連接join
EDA探索性數(shù)據(jù)分析和數(shù)據(jù)預(yù)處理
4.2 統(tǒng)計和相關(guān)
矩陣論:
5. 并行編程
線程(thread)與進程(process)的區(qū)別和使用場景(IO bound/CPU bound): 線程基本,
線程間的通信方式(互斥鎖mutex/信號量semaphore/條件變量/事件)
線程安全
多線程和同步見Linux部分
6. Python的中、高級特性
生成器generator/迭代器iterator
Python類-元編程Meta programming和裝飾器
Python類-magic methods魔術(shù)方法
正則表達式: 正則.
閉包
并發(fā):參考5 并行變成
Python速度慢和GIL: 參考5線程基本.
7. Linux
程序和指令瘪弓、Linux系統(tǒng)內(nèi)核與架構(gòu)、Linux文件和文件夾
Shell/bash禽最、文本流腺怯、用戶和權(quán)限、存儲弛随、分級存儲
進程瓢喉、進程間通信、多線程和同步舀透、進程調(diào)度
函數(shù)調(diào)用和進程空間栓票、內(nèi)存、Linux信號
8. 英語
口語
精讀(背誦)與泛讀結(jié)合
寫作和語言組織
廣泛聽(訪談/演講/影視/talkshow)
9. 表達
對所從事項目和過往經(jīng)驗的表述走贪,吸引面試官的注意和興趣
10. 數(shù)據(jù)庫和數(shù)據(jù)工具
SQL變量惑芭,SQL觸發(fā)器坠狡,
數(shù)據(jù)庫分區(qū)partitioning
NoSQL(MongoDB, Redis等)
RabbitMQ, Kafka, ES
11 架構(gòu)
12. 網(wǎng)絡(luò)技術(shù)
協(xié)議
應(yīng)用層:HTTP,DNS幻锁,websocket
傳輸層:TCP凯亮,UDP,可靠數(shù)據(jù)傳輸
網(wǎng)絡(luò)層:網(wǎng)絡(luò)層
運輸層
協(xié)議的編程實現(xiàn): Socket編程
13. C++
基本指令:
C++腳本如何編譯和運行哄尔,
指針,
函數(shù)岭接,
引用富拗,
類臼予,
內(nèi)存管理
面向?qū)ο蟮募夹g(shù)
14. 大數(shù)據(jù)
并行計算(MapReduce)
Spark, HIVE, HBASE and etc.
15. NLP
16. JAVA
Java對象基礎(chǔ)啃沪,Java創(chuàng)建類和方法粘拾,Java包、接口和其他類特性
17. 軟件開發(fā)
命名策略
17.1 測試
Python test: unittest mock之AsyncMock
17.2 CI/CD
Jenkins
17.3 Git
17.4 Docker
用Dockerfile為項目創(chuàng)建一個Docker鏡像
用Docker-compose為項目創(chuàng)建一個Docker鏡像
Docker原理與虛擬環(huán)境的對比
18. 前/后端Frontend/Backend
Flask
Django第一個項目谅阿、Django基礎(chǔ)和背景信息