如何才能透過一線網際網路公司面試?

yilian發表於2020-01-14

如何才能透過一線網際網路公司面試?相信這是很多人的疑惑,希望看完本篇文章能給大家一些啟發。

我是 Github 上 AndroidInterview-Q-A 專案的作者,想當年我也是面試了很多家公司,發現一線公司各家面試題相似程度很高,後來我就白天面試完,晚上回來就靠回憶把各個問題寫下來,不明白的就在網上找比較好的答案記錄下來。

下面的截圖就是我第一次的面試題記錄,當天面試完晚上回到家寫下的幾個問題。

如何才能透過一線網際網路公司面試?

現在從上面的幾個問題,發展成了6K star的專案,以下問題是我整理的最新的一線公司面試記錄,文章最後有我多年面試的經驗分享給大家。


基礎問題相關(問題答案在下文):

1、介面的意義-百度
2、抽象類的意義-百度
3、內部類的作用-樂視
4、Java 虛擬機器的特性-百度-樂視
5、哪些情況下的物件會被垃圾回收機制處理掉-美團-小米
6、程式和執行緒的區別-美團
7、java中==和equals和hashCode的區別-樂視
8、HashMap的實現原理-美團
9、string-stringbuffer-stringbuilder區別-小米-樂視-百度
10、什麼導致執行緒阻塞-58-美團
11、多執行緒同步機制
12、ArrayMap對比HashMap
13、hashmap和hashtable的區別-樂視-小米-360
14、容器類之間的區別-樂視-美團
15、抽象類介面區別-360

Android 方面(問題答案在下文)

16、如何匯入外部資料庫?
17、本地廣播和全域性廣播有什麼差別?
18、intentService作用是什麼,AIDL解決了什麼問題-小米
19、Ubuntu編譯安卓系統-百度
20、LaunchMode應用場景-百度-小米-樂視
21、Touch事件傳遞流程-小米
22、View繪製流程-百度
23、多執行緒-360
24、Handler,Thread和HandlerThread的差別-小米
25、執行緒同步-百度
26、什麼情況導致記憶體洩漏-美團
27、ANR定位和修正
28、什麼情況導致oom-樂視-美團
29、Service與Activity之間通訊的幾種方式
30、如何保證service在後臺不被Kill
31、Requestlayout,onlayout,onDraw,DrawChild區別與聯絡
32、Android動畫框架實現原理
33、Android為每個應用程式分配的記憶體大小是多少-美團
34、最佳化自定義view百度-樂視-小米
36、volley-美團-樂視
37、Glide原始碼解析
38、Android設計模式
39、Android屬性動畫特性-樂視-小米
40、Activity Window View三者的差別,fragment的特點-360
41、invalidate和postInvalidate的區別及使用-百度
42、LinearLayout和RelativeLayout效能對比-百度
43、View重新整理機制-百度-美團
44、架構設計-搜狐

騰訊公司面試題精選

45、2000萬個整數,找出第五十大的數字?
46、從網路載入一個10M的圖片,說下注意事項
47、自定義View注意事項
48、專案中常用的設計模式
49、JVM的理解

阿里面試題精選

50、程式間通訊方式
51、什麼是協程
52、記憶體洩露是怎麼回事
53、程式計數器,引到了邏輯地址(虛地址)和實體地址及其對映關係
54、陣列和連結串列的區別
55、二叉樹的深度優先遍歷和廣度優先遍歷的具體實現
56、堆的結構
57、bitmap物件的理解
58、什麼是深複製和淺拷
59、物件鎖和類鎖是否會互相影響
60、looper架構
61、自定義控制元件原理
62、自定義控制元件原理
63、ActivityThread,Ams,Wms的工作原理
64、Java中final,finally,finalize的區別
65、一個檔案中有100萬個整數,由空格分開,在程式中判斷使用者輸入的整數是否在此檔案中。說出最優的方法
66、兩個程式同時要求寫或者讀,能不能實現?如何防止程式的同步?
67、volatile 的意義?
68、燒一根不均勻的繩,從頭燒到尾總共需要1個小時。現在有若干條材質相同的繩子,問如何用燒繩的方法來計時一個小時十五分鐘呢?

以上問題解答見: Android面試指導文件

領取方式:關注一下,私聊我

如何才能透過一線網際網路公司面試?

經驗分享

我也算是一線公司都踩過點的碼農了,Facebook也踩過一次,現在就說說我自己的一些感受。

在樂視的時候我作為面試官接觸過幾十個面試者,能左右我是不是透過這個人的,主要因素還是這個人對技術的熱愛程度。因為有這種極客精神,做任何技術上的事情都是時間上的問題,所以面試過程中要儘可能表現出對技術的熱愛。

那除了這種因素外,我們怎麼做才能更大機率的進入一線公司呢?

還有一個比較重要的因素就是知識的深度。我認為深度優於廣度,廣度透過看各種文章都能瞭解,但一旦碰到實際問題,這時候往往靠的是自己的知識深度。

比如,Java程式猿都知道Java是跨平臺的,因為會編譯成和平臺無關的位元組碼,但是有多少人會知道是怎麼編譯的?如果不知道虛擬機器執行原理,就不可能做出手淘的Atlas容器框架。

再比如,很多人知道四大元件職責都是什麼,還會些效能最佳化,但是如果不知道Framework層系統服務原理,就做不出外掛化框架。

因為一線公司業務的複雜度也決定了業務的深度,如果沒有較好的深度探究能力,是很難勝任的,所以知識的深度也很重要。

極客精神加上某一領域知識的深度能力,就可以達到一線公司標準了。面試中非理性因素也有較大比重,但是這種東西是我們沒辦法掌控的

如果因為這種因素失敗了,也沒必要氣餒。我認為能力是和回報成正比的,就算此刻沒發生,下一刻也會出現,只要掌握了我們該掌握的能力,總有一天會進入我們理想的公司。

本文作者Jacky 王世昌,映客 Android 架構師、Github中國區Java星榜前20


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69952849/viewspace-2673362/,如需轉載,請註明出處,否則將追究法律責任。

相關文章