技術1面
1 Java水平怎麼樣?
2 問Python給自己打多少分?Python多線程怎麼實現?
3 線程和進程的區別?
4 不同進程之間數據能共享嗎?
5 Numpy和pandas做了什麼?他們有什麼優缺點?
6 五行五列二維數組,手寫代碼輸出每行每列的最大值、最小值、平均值、方差
7 問Redis數據庫知道多少?
Redis數據類型有幾種?
MySQL和Redis有什麼區別?
8 怎麼設置緩存實現時間(怎麼清緩存?)
9 Hadoop,spark用過嗎?
10 舉了一個高維數據,怎麼找出異常值?
技術2面
二面面試官來了。是個算法大佬。是個專門做算法的。直接手出題,他說時間不多,就讓我說思路。
1.先是一個m*n矩陣圖走迷宮共有多少條路徑?
需要用到動態規劃,還有排列組合。
2. 2-sum問題。這個答出來了,中間有用了一種方法,自己想的,雖然沒有降低時間複雜度,但挺新穎的。
3.問了最熟悉哪個機器學習算法。說邏輯迴歸,談了下邏輯迴歸原理。問了為什麼總Sigmod函數,而不是其他雙曲函數或Rule函數。
4.然後他說對Xgboost這個感興趣,Xgboost比GBDT做了什麼優化,他說了一點,問還有一點是在數據集遍歷上的優化?
5.問了隨機森林,隨機森林與決策樹相比,有哪些更多的優化?
6.問了信息熵,和信息增益,和信息增益率,現實中代表什麼?
信息增益率比信息增益解決了哪些問題?
總結
感受到大公司氛圍就是挺好的。不管結果如何。都有所收穫,至少知道了自己的優點和不足。
1. 缺乏常規算法訓練
2. 沒有很深究到機器學習原理的細節和底層具體推導。
想進大廠,必須得加強算法訓練(多刷題),機器學習算法掌握來龍去脈,熟知重要原理和應用及優化。
以上面試問題,大家有自己的答案了嗎?對自己拿不準的問題,歡迎大家留言,一起討論。
閱讀更多 Python與算法社區 的文章