編程基礎:html
(關注代碼的時間複雜度空間複雜度)java
進程間通訊方式python
線程和進程mysql
線程的狀態轉化程序員
數組和鏈表的區別面試
數據結構學過哪些,回答了數組,鏈表,而後問他們各自的特色以及適合在什麼場景下應用,以及他們的時間複雜度redis
死鎖產生的條件, 以及如何避免死鎖,銀行家算法,產生死鎖後如何解決算法
java中建立類的實例有幾種方法數據庫
是否瞭解synchronized及lock,簡述下使用場景及其區別(比較通用的解決線程安全的方法)
synchronized和reetrantlock鎖
手撕一個單例模式
會那些設計模式,單例模式,工廠模式,代理模式,裝飾器模式
Java中的框架
jvm
python和Java的內存管理
python中的list和tuple
python多(threadign/thread) lvs四種模式
Hadoop的相關知識
有序數組排序,二分查找,複雜度
有N個節點的滿二叉樹的高度。(1+LogN) 相似的 有k層的滿二叉樹有多少個節點(2*K-1)
hashMap與hashTable的區別
hashset和hashmap的區別,haspmap的底層實現put操做,擴容機制,
Java集合類都有哪些,詳細說明並介紹特色
說一說Java的集合類
LinkedList與ArrayList的區別
1000個節點,插入,查找,刪除的頻率差很少,用LinkedList仍是ArrayList
Spring的依賴注入是怎麼實現的
熟悉HashMap嗎?是線程安全的嗎?多線程訪問有什麼問題?仔細說一下
知道線程安全的Map嗎?怎麼實現的?
== 操做比較的是什麼?與equals有什麼不一樣?
Integer的 == 與 equals操做
String的 == 操做
對鏈表排序(歸併排序,快速排序)
實現LRU
垃圾回收
HashMap源碼,是否線程安全,爲何
10G的文件,2G的內存,文件中每一行都是一個酒店名,如何統計出前二十的酒店
HashMap的容量爲何是2的n次方
爲何要用B+Tree來做爲索引底層的數據結構(B+tree被大量用於數據庫的索引中)
會那些設計模式,單例模式,工廠模式,代理模式,裝飾器模式
JVM內存分區
string ,stringbuild,stringbuffer區別,string內部結構
快速排序的思想講一下,手寫快排,給個數組,模擬快排的過程
hash的用處 怎麼解決hash衝突
緩存池咱們不少地方都要用到,如何實現緩存池(隊列和map)
java內存的空間分佈
jvm的垃圾回收機制,,讓比較了CMS和G1的區別,還提了「若是是大數據量的狀況下使用什麼回收器比較好?「G1是針對服務器的,而且是分塊整理的固然選擇G1。最後問了一個問題「若是jvm一直在作FullGC怎麼辦?「這個我開始反應就回答了設置jvm的堆區最大值
hashmap的底層結構。如何擴容,併發怎麼解決,concurrentHashMap如何實現高效讀寫(分區+鎖技術),最後竟然問了句:爲何負載因子是0.75
Hashmap爲何容量是2的冪次,什麼是負載因子
HashMap和HashTable有什麼區別
Key-Value存儲原理
「有什麼難點?」「項目中遇到過哪些問題?」
Java(int和Integer的區別)
Java中抽象類與接口的區別
Java中的集合的底層實現(相似還有HashMap HashSet)
問了map以及hashmap的特色,map實現的數據結構應該是什麼
hashmap的實現講一下吧,講的很詳細了。講一下紅黑樹的結構,查詢性能等。
Java回收機制
Java中的垃圾回收講一下,講了分代,gc算法,gc root可達性分析等
Java內存泄漏
重載與重寫的區別
瞭解 redis 源碼麼
瞭解 redis 集羣麼
說一下java裏面的Integer.valueOf()這個函數?
n長的數組放入n+1個數,不能重複,找出缺失的那個數(不知道是否是連續的數)
反射
泛型
死鎖是什麼呢,怎麼解決死鎖
爲何負載均衡,怎麼實現負載均衡
Java與C++最大的區別
1G數據怎麼排序
怎麼判斷鏈表有環,怎麼優化
範圍1到1000的數,本來有1000個,互不重複,現多出來1個重複的數,怎麼找到他,統計次數,太慢,求和相減。
N個糖果,每次只能取1個到6個,不能不取,你先取,請問是否有必勝策略,怎麼取。
代碼:(單例模式)
介紹一下你知道的排序算法以及平均時間複雜度,最壞最好狀況
常見的數據結構要掌握,基礎的代碼會手寫(快排、冒泡、歸併排序、二分查找、二叉樹的遍歷、二叉樹增刪改查)
算法:如何判斷一個樹是否是另外一顆樹的子樹
算法:給定一個數字,一個數組,找出數組中相加等於這兩個數的和,不能用數據結構
算法:找出兩個數組相等的數,不能用其餘數據結構
代碼:數組去重
代碼:網易:反轉字符串、反轉反轉
代碼:二叉樹前序遍歷中序遍歷後序遍歷(遞歸非遞歸)
代碼:從int數組中找出和最大的連續子串
代碼:判斷數組是否能夠首尾相連成環路
代碼:從數組中找出兩個相加等於n的下標
代碼:一個數的個位十位百位相加,判斷結果的個位是否是3
代碼:全排列
代碼:從A到I
代碼:找出一組數中最大的數
代碼:找出數組中不重複的數
代碼:二叉樹的層序遍歷
代碼:二分查找
兩條鏈表求第一個公共節點
寫一個兩個有序鏈表合併成一個有序鏈表
鏈表找環狀入口
而後問了我一些設計模式,我講了單例,工廠和裝飾者模式,java手寫了單例
快排的時間複雜度,冒泡時間複雜度,快排是否穩定,快排的過程
100w個數,怎麼找到前1000個最大的,堆排序,怎麼構造,怎麼調整,時間複雜度。
編程題:給定一個字符串列表(長度爲n),給定一個滑動窗長度L,求滑動窗裏邊最多有多少個不一樣字符。(要求時間複雜度O(n),空間複雜度O(1))
一個矩陣,從左上角到右下角,每一個位置有一個權值。能夠上下左右走,到達右下角的路徑權值最小怎麼走。(先說了一下dfs遞歸實現。面試官說要優化。說了一下用迪傑斯特拉的思路,說能夠)
十億個數的集合和10w個數的集合,如何求他們的交集(面試官說對較小的數作hash,而後便利大數組便可)
十億個數找出前100個最大的
常見數據結構與操做(線性表、隊列、字符串、樹、圖)
常見算法(排序、查找、動態規劃、遞歸、回溯)
數據庫:
數據庫的優化
怎麼優化數據庫
SQL(多表查詢、左連接和右連接的區別)
SQL(索引、多表查詢)
寫一個SQL語句
SQL(寫語句,top,count,group,by,order by,select)
介紹MySQL索引、彙集索引等
MySQL的索引,B+樹性質。
mysql 數據庫的引擎和區別(innoDB MyISAM)
數據庫的索引和優化
說一下數據庫事務隔離等級?
基本SQL語句
MySQL存儲架構
LVS四種模式實現以及原理
MySQL存儲引擎
MySQL幾個存儲引擎的特色,區別
Linux:
Linux(查看一個文檔,顯示文檔的最後五條數據)
Linux(cd,cd-,mkdir,vi,netstat)
Linux的cpu 100怎麼排查,top jstack,日誌,gui工具
Linux大文件怎麼查某一行的內容。
常見的Linux命令
Linux基礎
Linux,查找磁盤上最大的文件的命令
Linux中的文件處理
計算機網絡:
UDP TCP的區別
三次握手和四次握手和UDPTCP使用場景
詳細講講擁塞控制
DNS劫持的原理
路由表中存的是什麼
TCP的擁塞控制
http中的get和post請求的區別
怎麼確認post請求發送完畢
網絡(get和post的區別,七層協議分別是什麼,應用層的協議)
七層網絡模型
計算機網絡熟悉嘛?說一說七層模型以及每一層模型的具體內容
TCP的三次握手,四次揮手,以及每一個時刻客戶端服務端的狀態是什麼
TCP的四次揮手,time wait狀態有什麼意義。
TCP和UDP的核心區別在哪,講了滑動窗口保證可靠有序傳輸,UDP不可靠。TCP須要鏈接而UDP不須要。
10g文件,只有2g內存,怎麼查找文件中指定的字符串出現位置。MapReduce分割文件處理。 他說能夠用cat | grep 管道處理
怎麼查看佔用了端口號的程序的可執行文件的位置
怎麼統計日誌文件中重複數量最多的前十行
osi七層網絡模型,五層網絡模型,每次層分別有哪些協議
tcp擁塞控制機制,慢開始,擁塞避免,快重傳,快恢復
tcp三次握手,四次揮手過程以及三次握手四次揮手的緣由,timewait的原型,icmp屬於
cdn
tcp的慢啓動
tcp的time_wait
TIME_WAIT多了有什麼問題?
TCP的三次握手和四次揮手?仔細說說
爲何要四次揮手?三次揮手不行嗎?
機器學習算法;
算法提問(推公式,介紹原理),數據結構提問(寫代碼,介紹原理)
簡歷上的項目必定要熟悉:項目背景,項目方案、項目成果。項目中的技術點要熟悉
機器學習模型原理和機器學習常見的問題(正負樣本不均衡)
常見的機器學習模型要會推公式
邏輯迴歸推導
最大似然及交叉熵
正則及各自優劣
評價指標及含義
kmeans的計算過程及複雜度
bp推導
lstm網絡參數數量計算公式的推導
XGBoost中對GBDT有哪些優化
Word2Vec講一下
幾種模型(SVM、lr、gdbt、em)的原理及公式推導
rf、gdbt的區別
決策樹處理連續值的方法
特徵選擇的方法
過擬合問題的解決
反向傳播原理
PCA原理
PCA的實現過程(步驟)
PCA與SVD
SIFT原理
梯度消失的緣由及解決方法
k-means的原理,優缺點以及改進
常見分類模型(SVM、決策樹、貝葉斯等)的優缺點、使用場景、如何選擇
SVM爲啥要引入拉格朗日乘子法
梯度降低的優缺點 梯度降低、隨機梯度降低、批量梯度降低
牛頓法 擬牛頓法
牛頓法和梯度降低法的聯繫
em與kmeans的關係
詳細解釋CNN的原理
海量的item算文本類似度的優化方法
L1L2的區別以及如何解決L1求導困難
解釋world2vec的原理以及哈夫曼樹的改進
模型的迭代訓練中怎麼評估效果
LDA的原理
常見的機器學習模型(線性迴歸、邏輯迴歸、SVM、感知機、KNN、K-means、EM等)
常見的機器學習理論(過擬合、交叉驗證、模型選擇、模型融合)
常見的深度學習模型(CNN、RNN)
SIFT原理
SVM核函數的做用
SVM,線性迴歸和邏輯迴歸的原理及區別
邏輯迴歸實現多分類
Adaboost算法
經過簡單示例,詳細解釋ROC曲線,要求給出必要的公式推導。
給出LR(邏輯迴歸)算法的cost function公式的推導過程。
目標檢測時,輸入的是視頻時,如何進行檢測?視頻中有不少無用的幀(不包含要檢測的目標等)-->人工分割視頻、每隔必定數量的幀進行檢測
混合高斯模型(GMM)是怎麼樣的?à原理和公式
梯度降低:爲何多元函數在負梯度方向降低最快?
經常使用的聚類方法有哪些,簡述其原理?分級聚類,K-means聚類
Sigmoid激活函數爲何會出現梯度消失?Sigmoid函數導數的最大值出如今哪一個值?-->(x=0處) ReLU激活函數爲何能解決梯度消失問題?
Softmax是和什麼loss function配合使用?-->多項式迴歸loss 該loss function的公式?
經常使用的顏色空間有哪些?各有什麼特徵?
經常使用的圖像分割算法有哪些,各有什麼優缺點?
圖像的像素數和分辨率有什麼區別?
視覺:
canny邊緣檢測算法的過程
經常使用的邊緣檢測算法:canny算子、Sobel算子
經常使用的局部特徵和全局特徵
顏色識別:
爲何不在RGB中設置範圍查找顏色,而是在HSV中
啊啊
綜合能力面試:
優缺點
什麼是有效的溝通
怎麼與人合做的
怎麼證實本身的學習能力強
最有成就的事
遇到過什麼挫折
平時喜歡幹什麼
用三個詞形容本身
看什麼書,重點講一本
問了一下最近看什麼書,何時開始寫博客的
環形商場裏又不少商家,商家的錢實現不知道,讓你去搶錢,不能連續搶兩家,怎麼保證搶錢最多
若是你帶領一個團隊作一款產品,你想作什麼,爲何
假設有個M*N的方格,從左下角走到右上角每次只能向右或向上,有多少種走法,若是中間有若干格子不能走,又有多少種走法
問面試官的問題:
這個問題會暴露你的關注點,最好能讓面試官知道你對將來工做細節的關注,詢問面試官提到的公司的事工做的事,而不是薪酬福利。或者提早準備一些通用問題