天天看點

今年的畢業生太難了,非常接地氣的Android中進階面經給你們助力三面四面

前言

前幾天有個應屆畢業生的程式員在微信上找到我,并向我吐槽了一下他目前的心酸現狀。我對此除了表示同情以外,隻能剩下鼓勵了,對于不能幫助他,我深感我自己力量的薄弱,意識到了我必須強大才行,這樣才能幫助别人。如果你是一個無名小卒,那麼自身都難保,還憑什麼說去幫助别人呢?因為我想讓這個世界變的美好一點點。

今年的畢業生太難了,非常接地氣的Android中進階面經給你們助力三面四面

這個應屆畢業生的能力到底如何,我不清楚,我從和他的對話中可以看出他是一個對技術執着而且充滿着熱愛的一個程式員,為此我還聽出他對這個行業的期望,感歎了人生處處是套路,行行都是陷阱的無奈。思考良久,我結合自身經曆收集了各大部落格上大佬們整理出來的面試題,在這裡無償分享給大家,希望大家都能如常所願!

一、履歷

網上有很多對程式員履歷的一些指導,這裡就不重述,大家可以搜下網上其他大神的總結,結合自身情況修改下。我有幾點建議:

1.盡量不要花哨,程式員和設計師或者産品營運還不一樣,我們的履歷成功與否決定權還是在技術面試官那,而他們看重的是你的項目經驗内容和技術等描述。

2.技能描述這塊盡量隻寫你懂得而且了解深刻的,可以适當加入一些新技術或流行架構,不過這塊需要了解,沒來得及看源碼的可以看看大神們對它的總結,網上一大堆。

3.項目經驗這塊盡量加入關鍵詞,比如使用了什麼技術、用到哪些設計模式、優化資料對比、擴充總結之類的。而非一味地介紹這個項目内容(那是産品經理的描述),比如性能優化這塊,分為UI性能優化、記憶體優化、資料庫優化、網絡優化、耗電優化等等。可以從1.如何發現問題,2.怎麼解決問題,3.解決效果對比,這幾個方面去描述。舉個簡單例子——UI優化,可以從 UI出現什麼問題(卡頓不流暢),怎麼查找問題(手機開發者權限>GPU過度繪制 發現層級問題,TraceView CPU使用情況分析),怎麼解決問題(降低層級、自定義View繪圖出現問題等),解決問題後性能再次對比。

二、技能儲備

阿裡

一面

1、自我介紹下自己,不超過3分鐘

2、你感覺比大學階段自己進步了多少,有哪些進步

3、研究所學生期間最大的進步是什麼

4、你覺得你适合從事哪個方向的開發

5、synchronized與lock的差別,使用場景。看過synchronized的源碼沒

6、JVM自動記憶體管理,Minor GC與Full GC的觸發機制

7、了解過JVM調優沒,基本思路是什麼

8、對于CMS來說,要合理設定年輕代和年老代的大小。該如何确定它們的大小呢?

9、如何設計存儲海量資料的存儲系統

10、緩存的實作原理,設計緩存要注意什麼

11、淘寶熱門商品資訊在JVM哪個記憶體區域??

12、volatile關鍵字的如何保證記憶體可見性

13、happen-before原則

14、Lucene全文搜尋的原理

15、你覺得自己适合哪方面的開發,為什麼

二面

2、你說你熟悉并發程式設計,那麼你說說Java鎖有哪些種類,以及差別

3、在jdk1.6中做了第synchronized的優化,

4、如何保證記憶體可見性

5、Http請求的過程與原理

6、三次握手與四次揮手

7、AOP的原理

8、那麼你說說代理的實作原理呗

9、看過Spring源碼沒,說說Ioc容器的加載過程吧

三面

1、自我介紹,不超過3分鐘(這次好像時間更久了,也就2分鐘多點)

2、說一下你對哪個項目比較熟悉

3、為什麼做這個項目

4、項目采用了什麼架構,資料庫如何設計的

5、資料庫由哪些表,為什麼有這些表

6、主要有哪些核心子產品,子產品之間如何通信的

7、session放在哪裡

8、如何儲存會話狀态,有哪些方式、差別如何

9、分布式session如何管理,你有哪些方案

10、學過資料結構和算法嗎(當然),你說說二分搜尋的過程

11、說一下快排的過程,寫一下僞代碼

12、了解哪設計模式,舉例說說在jdk源碼哪些用到了你說的設計模式

13、你有什麼問我嗎(仍然上面三個問題)

四面

1、來個自我介紹呗,不超過3分鐘

2、介紹下你最熟悉的項目

3、項目使用了什麼架構,亮點是什麼

MVC,用到Lucene,用aop實作了權限的管理

4、平時主要學習什麼課程

Java、資料結構、數學模組化

5、你目前的研究方向是什麼

6、家是哪的

7、喜歡看什麼書

8、大概什麼時候能來實習呢

9、四面總結

五面

1、自我介紹下吧

2、做了哪些項目

3、看你在問題中說你在杭州看到很多商販使用付款二維碼,你對支付寶怎麼看

4、為什麼想來支付寶實習呢

5、技術棧、對移動支付比較好奇,

6、你身邊同學如何評價你、老師呢

7、如果與同僚發生了意見的不一緻,你會如何解決呢

今日頭條

自我介紹

問項目,問的很細。速度、性能如何做的優化

faster rcnn、yolo、ssd的差別

LSTM的結構與前向傳播

現代cpu算力在什麼量級

手寫代碼:全排列

問項目,主要問創新點在哪裡

推導PCA

機率題:13個人生日都不是同一天的機率,要求給出表達式和最終結果(不用電腦估算)

場景題:推薦系統模型收斂的很好,但是多樣性可能不好的情況下如何解決。

非遞歸中序周遊二叉樹

聊學校參加的比賽

聊實習做的事情,有什麼能改進的點

一道題:假設有一組基向量b1,b2,...,bn,現在有一個向量x,希望能用這組基向量中的三個表示,也即$x = w_1b_i + w_2b_j + w_3b_k$,問如何求解這個問題

一個圓上随機三個點組成銳角三角形的機率,要求數學推導

一個無序數組,定義一個作為:相鄰的三個數進行循環左移,比如789循環左移後為897,問能否僅使用該作使得數組升序。如果不能,總結一下能和不能的規律。

講一個項目。

網易雲音樂

手寫代碼:合并兩個有序連結清單

線性回歸和邏輯回歸差別,推導邏輯回歸

ID3、C4.5、CART的差別,寫資訊增益、資訊增益率、基尼系數的公式

樹有幾種剪枝的方式,各有什麼優缺點

解釋一下排序的穩定性,冒泡排序是否穩定,複雜度多少

各種問實習

gbdt和xgboost差別

adaboost和gbdt差別

過拟合怎麼解決

CNN參數量計算

如何評價一個分類器,auc的工程計算方式,roc曲線

總監面

問實習項目

推導FM、FFM

問了一點強化學習概念

愛奇藝

問實習,在特征簽名的問題上說了半天

怎麼做ab實驗,ab實驗的原理

特征工程怎麼做的

如何判斷特征的有效性

deep model在推薦中的應用是否了解,講一個

問實習,聊了一下場景不同下,推薦系統的關注點有什麼不同

手寫代碼:求二叉樹深度和寬度

攜程

問實習做的事

懂不懂深度學習,在推薦系統中的應用是否了解

問實習做的事,還給提了不少很中肯的意見。

xgboost和gbdt差別

聊最近的推薦系統相關的模型。XDeepFM,DIN之類的

招行卡中心

介紹一個覺得最成功的項目

勸我轉開發。。。

介紹一個項目

說說自己的職業規劃

銀聯

一面群面

網際網路金融,危害性排序

問實習

手寫代碼:2sum,3sum,n sum(講思路)

海康

一面電話面

問項目,項目背景,難樣本挖掘是怎麼做的

問論文的創新點

問項目

手寫代碼:求兩個旋轉矩陣的IOU

綜面

講論文的創新點

參加比賽的算法相比論文中又做了什麼改進

虹軟

聊項目

問了一些深度學習基礎知識

LeNet、vgg、resnet等經典網絡的發展

GAN的損失函數

DQN

快手

batch norm,具體訓練測試的時候是怎麼做的

手寫代碼:一個三棱柱。6個點塗4種顔色。要求同一條棱兩端的點顔色不能一樣。問一共有多少種塗色方案。

問項目具體實施細節

又問了一次batch norm

svm了解嗎,什麼樣的函數能做核函數

手寫代碼:p的機率生成0,1-p的機率生成1.如何等機率生成0和1.如何等機率生成0~n

讓求一個不定積分。。

cvte

講一下邏輯回歸,邏輯回歸能用來做回歸嗎?

講一下svm

過拟合的原因及解決方法

L1、L2正則講一下

說一下直方圖均衡化

說一下二值化,大津法怎麼做的

場景題:老師寫的闆書的電子化怎麼做

場景題:自動批改試卷怎麼做

文末

好了,今天的分享就到這裡,如果你對在面試中遇到的問題,或者剛畢業及工作幾年迷茫不知道該如何準備面試并突破現狀提升自己,對于自己的未來還不夠了解不知道給如何規劃,可以加一下合作的技術群:345659112。來看看同行們都是如何突破現狀,怎麼學習的,來吸收他們的面試以及工作經驗完善自己的之後的面試計劃及職業規劃。

未完待續。。。