移動互連網下半場的面試真經,讓你進入 BAT 不再是夢

來源:互聯網
上載者:User

標籤:問題   jni   git   意圖   通過   而且   企業   時間   oid   

今天突然想聊聊面試了,最近有很多朋友讓我看簡曆,也有很多朋友跟我吐槽說:面試被虐了,簡直慘不忍睹,都有點懷疑自己的能力了。其實,我想說:正常。之所以這麼說是很多朋友可能沒有認清一些問題,哪些問題呢?兩點:一是,沒有認清自己;二是,沒有瞭解公司。



其實說實話,作為程式員,最起碼得有80%的人都想進入大公司工作,比如:BAT ,小米,滴滴,今日頭條,美團等這樣的大公司或者移動互連網界的明星企業。進大公司的好處顯而易見,福利好,待遇高,工作穩定,不像很多創業小公司說倒閉就倒閉,尤其是移動互連網進入下半場之後,很多創業公司都相繼倒閉,而且移動開發人員也越來越飽和,隨著程式員越來越多,自然就進入了激烈競爭的惡劣環境,優勝劣汰的自然規律是不可逃避,也規避不了的。 GitHub 統計,就今年一年加入 GitHub 的中國程式員就有 70 萬,自己想想吧,競爭得有多激烈。

 

即使有20%的程式員不想進入大公司,也無非就是要麼就是認清了自己的現實,自己並不是那麼天賦異稟,也並不是那麼熱愛編程,有自知之明的心態,在個小公司幹也挺好,倒閉了大不了再換,反正 BAT ,我也進不去。要麼就是人家就是 BAT 的大神想出來創業當移動互聯界的創業家,想功成名就,即使創業失敗,我依然可以鶴立雞群,瀟洒回到 BAT 的世界,帥氣的依靠自己在業界的名聲依然能夠得到一份好的工作。



說著說著,好像有點二八定律的感覺。NO,上面的80%和20%是我自己的不完全統計,不必當真,舉個例子而已。





01

面試準則

 

關於面試這件事,我們得知道一個面試準則,尤其是在移動互連網進入下半場的今天。最近很多朋友面試受挫,並不是說技術有多差,但是就是很受打擊,因為在資本寒冬的今天,移動互連網的下半場,程式員要想過上好日子,就得去大公司,現在已經逐步進入拼技術的時代了,所以技術依然越來越重要,這是在小公司無法體現和提升的。而他們之所以受打擊是因為平時做項目,做產品也可以獨立完成,甚至很好的完成,但是面試失敗的面試是基礎太差。



所以,你在小公司確實可以能夠很好的掌握並做一個項目,但是大公司重視的是你的基礎啊。所以要清楚這麼一個準則:面試,大公司重基礎,小公司重能力(這裡的能力指:能不能馬上上手做一個項目的能力)



進一步解釋一下,為什麼我在上面說:現在已經逐步進入拼技術的時代了?首先,移動互連網剛剛興起的前10年是一個高速發展,高速擴張,野蠻收割的時代,就是不論技術好還是差,只要能夠馬上做出產品來就好技術,就會通過營銷,運營,資本等手段獲得使用者,而獲得使用者,佔領市場之後,就到了拼技術,拼品質的時代了。



而現在移動互連網的下半場就是一個拼技術的時代了。舉個簡單的例子,微博,你做出來很容易,但是做好就很難了。明星出個軌,公布個戀情分分鐘就會讓你癱瘓,這不是產品,營銷,資本能夠解決的問題,這是技術才能夠解決的問題。你會做微博不是能力,你能讓微博不癱瘓才是能力。



前幾天在知乎上看到一個問題特別有意思,問:做一個很難嗎?有一個回答很對,說:做一個,10個人用不難,100個不難,讓近10億的使用者用,就難了。此處省略一萬字,這個話題要是聊透,其實能夠還寫一篇文章。



 

02

面試準備

 

我在前面說了,面試慘不忍睹的就是由兩個問題導致的,一是,沒有認清自己;二是,沒有瞭解公司。總結成一句話就是準備不足。



我們既然瞭解了面試準則,就應該對症下藥才行,這樣才不至於慘不忍睹。大公司既然重基礎,那麼面試前一定要好好學習和準備一下這方面的知識。幹什麼事之前,一定要充分瞭解情況,古人說的話,還是挺對的,畢竟是2000多年來總結出來的經驗,面試就是戰場,知己知彼才能百戰不殆。



舉個例子:小猿在一家創業公司從事了兩年的 Android 開發,能夠獨立開發一款軟體,技術還是可以的,效率挺高的,總能快速完成經理交給的任務,平時也會在 GitHub 上提交一些開原始碼,分享了一些開源庫,star 數五六百,好的上千,熟悉使用 RxJava,Retrofit等網路架構,還會 MVP,MVVM 這樣的架構。



感覺自己去 BAT 這樣的公司面試沒問題,可是,還是被打擊到了。人家回複說:學習能力,開源精神都挺好的,就是基礎太差。看到了嗎?會使用架構,封裝個簡單的庫,能夠做出產品來並不是多大的能力,做好是需要基礎的。

 

上面的例子的問題,典型就是不瞭解自己,也不瞭解大公司的套路,準備不足,所以才失敗的。平時學習的時候,應該要知其然知其所以然才行,然後再多學學演算法,原理和一些電腦基礎就更完美了。並不是會做就行,基礎紮實,才能做得更好。

 

要想成就不敗金身,那我們就一起來知己知彼一下。那大公司到底喜歡面試什麼樣的問題呢?我該如何準備呢?我通過朋友瞭解到,總結之後就兩點:演算法和原理。說這些都是概念,來點實際的,給大家舉一些例子:

 

  1. 翻轉一個單項鏈表
  2. 合并多個單有序鏈表(假設都是遞增的)
  3. 堆排序過程,時間複雜度,空間複雜度
  4. 快速排序的時間複雜度,空間複雜度
  5. HashSet與HashMap怎麼判斷集合元素重複
  6. 邏輯地址與物理地址,為什麼使用邏輯地址
  7. 一個無序,不重複數組,輸出N個元素,使得N個元素的和相加為M,給出時間複雜度、空間複雜度。手寫演算法
  8. 二叉樹,給出根節點和目標節點,找出從根節點到目標節點的路徑
  9. 資料結構中堆的概念,堆排序

10. 圖:有向非循環圖的解釋

11. LRUCache原理

12. ThreadLocal 原理

13. HashMap源碼,SpareArray原理

14. Https請求慢的解決辦法,DNS,攜帶資料,直接存取IP

15. https相關,如何驗證認證的合法性,https中哪裡用了對稱式加密,哪裡用了非對稱式加密,對密碼編譯演算法(如RSA)等是否有瞭解

16. 是否熟悉Android jni開發,jni如何調用java層代碼

17. Android系統為什麼會設計ContentProvider,進程共用和安全執行緒問題

18. RxJava的功能與原理實現

19. 適配器模式,裝飾者模式,面板模式的異同?

20. 靜態內部類的設計意圖。

21. 多線程:怎麼用、有什麼問題要注意;Android線程有沒有上限,然後提到線程池的上限

22. 點擊事件被攔截,但是想傳到下面的view,如何操作?

23. Android中進程記憶體的分配,能不能自己分配定額記憶體

24. 序列化的作用,以及 Android 兩種序列化的區別。

25. 前台切換到後台,然後再回到前台,Activity生命週期回調方法。彈出Dialog,生命值周期回調方法。

 

 

好了,就先舉這些例子,以上的問題來自於 BAT ,小米,滴滴,360,今日頭條,愛奇藝等。你們先感受一下,是不是會被虐呢?通過上述面試題大家也基本看到了,有演算法,有原理。

 

你只要在面試前,認真準備,充足準備,應該不會有多大的困難。其實大部分程式員面試大公司失敗的原因是自己準備不足。大公司去校招成功率比較大的原因是大學學的一些基礎沒有忘掉,而現在的你,只注重實戰,而不注重基礎。但是在拼技術的時代,基礎很重要,基礎和原理懂得的更多,做的東西才會更加牢固。





03

積累才是根本

 

前面說了,通過瞭解面試準則,面試準備,那都是一種臨時抱佛腳的方法,讓你快速面試成功的一種捷徑罷了。其實平時的學習和積累才是根本。通過瞭解大公司的要求,我們在小公司也應該時刻嚴格要求自己,不要只注重實戰,不要不在乎效能而僅僅去說我實現了就好。

 

我們在平時的工作和學習的過程中,要時刻保持學習之心,不僅僅注重業務的實現,有時間拿起書來看看基礎和原理,瞭解一些源碼,多做一些思考,其實總會慢慢進步的。

 

再囉裡囉嗦的舉個例子吧,比如:你最近看到社區裡流行使用 MVP 模式,你就會去看一下 MVP 後,找一個開源的模板,下載下來,自己也開始用,不要僅僅停留在使用上,你應該思考:為什麼大家都喜歡使用 MVP 模式?這樣做的好處是什嗎?我還能在這樣的基礎上做最佳化嗎?舉一反三的把自己問倒,打破砂鍋問到底要用到自己身上。

 

 

總結



說一千道一萬,不如自己去行動。要想在移動互連網的下半場是自己佔有一席之地,那就得從現在開始,從今天開始,馬上嚴格要求自己,既重視業務實現能力,也重視基礎和原理。基礎夯實好了,高樓才能夠平地而起,穩如泰山。什麼高並發導致的崩潰啊,什麼明星緋聞啊,你的前端不怕,後端更不用怕。下次吹牛可以這麼說:三對明星同時出軌,我的程式也不會癱瘓。

 

移動互連網下半場的面試真經,讓你進入 BAT 不再是夢

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.