女程式設計師的逆襲之路, 三面通過 15K,HR 說你只值 10K,HR這麼囂張得嗎?

2021-03-10 12:01:23

前言

面試想拿 15K,HR 說你只值 10K,我前三面白麵的啊!經理都沒你這麼囂張…

本三,再普通不過的學校,沒啥學術氛圍,30多個男生5個女生,科班

雖然沒啥學術氛圍,但是上課我會和舍友經常坐在第一排,別想多了,沒這麼好學,其實就是學校小,從宿舍到教室10幾分鐘,為了能在宿舍多呆一會,每次上課前一分鐘我們總能「按時到」,這也就導致第一排的寶座非我莫屬,不得不接受老師的唾沫橫飛

課程學了java、Android、mysql、oracle、C#、HTML等

就這樣和大部分大學生一樣,我度過了我的大學,一眨眼,一眨眼…

然後我就迷迷糊糊踏上了找工作之旅。

「社會毒打」

馬上大四了這時候我慌了,就在boss直聘上找實習,第一份實習offer是一家小公司,貌似做小程式之類的外包,面試了半小時,說進來實習可以但是要學c,拒了

這個時候大四開學,開學看到小夥伴很高興就忘了這些糟糕的事,慢悠悠找實習,在[前程無憂裡面找,找的不太滿意,百度了一下大家都說不好,那就算了,始終沒找到滿意的。對。這個時候我只知道前程無憂和boss直聘。boss直聘是學長介紹的。前程無憂眾所周知。其他一概不知。就沒花多少心思在這上面。。

第一次面試

  • 一面  時長50分鐘

1.自我介紹 實習時長

2.有沒有做過相關的專案或者自己實現過小daemon嗎

3.平時有跟其他同學合作過嗎,你是寫使用者端的,遇到問題如何解決,你覺得跟你合作的同學水平如何?

4.前後端通訊用的什麼協定?

5.輸入一個URL發生了什麼,webview有用過嗎?

6.瞭解HTTPS嗎,建立的過程? 使用Json有遇到什麼問題嗎

7.android如何發起網路請求,有用過相關框架嗎,okhttp框架解決了你什麼問題?

8.如何更新UI,為什麼子執行緒不能更新UI?

9.瞭解ANR嗎?

10.String有哪些方法,常用哪些, ==與equals的區別?

11.JAVA中用過哪些容器類,HashMap底層資料結構,如何處理hash衝突?

12.Activity的四種啟動模式,區別?

13.Activity A 跳轉B B跳轉C,A不能直接跳轉到C,A如何傳遞訊息給C?

14.AndroidManifest檔案中用過哪些相關許可權?

15.Intent顯示跳轉與隱式跳轉,如何使用?

16.除了JAVA還會其他語言嗎?說了C++,寫過一點JS

17.React Native瞭解嗎?答:不瞭解 瞭解過NDK。於是問為什麼用NDK

18.接著問Jni瞭解嗎?有沒有自己使用過,只要編譯成功Hello World也算,與JAVA相比效率如何

19.後來面試官解答:同一段程式碼C與JAVA執行效率快很多,因為JAVA要編譯成位元組碼,但考慮到JNI本身呼叫的開銷,在排程頻率不高但一次任務處理量大的情況下時候適合用JNI調C

20.手撕程式碼 逆序輸出ArrayList

21.提問環節  問:部門技術棧? 答,React Native所以要學JS 平時開發偏View嗎? 答,是的

  • 二面 時長1h

1.自我介紹

2.RecyclerView與ListView的對比,快取策略,優缺點

3.Activity與Fragment的生命週期

4.Fragment add與replace的區別,分別對Fragment的生命週期影響

5.事件的分發機制 提到了責任鏈模式,就接著問責任鏈模式的優缺點

6.除了責任鏈模式還了解哪些設計模式,說了觀察者模式,單例模式,工廠模式

7.觀察者模式的優缺點,什麼情景下使用?使用過哪些用觀察者模式的框架?

8.RxJava瞭解嗎? 不瞭解

9.Gradle檔案瞭解嗎? 說不太瞭解就沒往下問

10.中間就優化問題問了好多,我都不會,問的我都覺得我已經涼了 😂

11.view的繪製流程,View層次過深怎麼優化,選擇哪個佈局比較好?

12.手撕程式碼  遞迴反轉棧,判斷連結串列是否有環,反轉連結串列

13.StackOverFlow與OOM的區別?分別發生在什麼時候,JVM棧中儲存的是什麼,堆中儲存的是什麼?

14.什麼時候會發生記憶體漏失?舉幾個例子

15.提問環節 於是問了一下平時如何學習android以及準備面試?

  • 三面    時長50分鐘

1.日語什麼水平,為什麼學日語,不看字幕能聽懂嗎?

2.平時怎麼學習的?覺得自己哪些專業課學得比較好?

3.除了日語還有哪些興趣愛好,準備學到什麼程度?

4.為什麼選擇android?身邊同學都選擇什麼方向?

5.為面試做了哪些準備?說了看了深入理解JVM那本書,於是問JVM哪一部分比較熟?

6.如何判斷一個物件是否被回收,有哪些GC演演算法,實際虛擬機器器使用較多的是什麼GC演演算法

7.如何開啟一個執行緒,開啟大量執行緒會有什麼問題,如何優化?

9.執行緒池的相關引數,有哪些型別的執行緒池,執行緒池任務如何排程,任務佇列只是先進先出的佇列嗎,任務有優先順序怎麼辦,知道優先順序反轉嗎?

10.平時開發遇到問題會怎麼辦?提到了StackOverFlow這個網站,於是被問你知道StackOverFlow除了是個網站還有其他意思嗎? 答:棧溢位

11.於是接著問什麼時候會StackOverFlow,如果讓你寫一段棧溢位的程式碼你會什麼寫,一個棧大概有多大,為什麼?每個執行緒都有這樣大小的一個棧嗎?

12.有了解過面試的崗位做什麼的嗎?說了下好像是用React Native做跨端

13.有沒有對筆試和前面的面試進行復盤?現在你覺得筆試題你能做出幾道?

14.除了Android還關注過哪些技術?

15.提問環節  為什麼問了很多非技術問題?  答:因為我覺得非技術方面如性格,工作是否穩定不僅是HR的事,用人部門也需要了解

16.如何判斷

手撕程式碼  求集合所有的子集

  • hr面     時長20分鐘

1.電話簡單的聊了一下

2.哪裡人?現在在家嗎?

3.實驗室什麼方向,學校什麼時候開學,上網課跟平時上課有什麼區別,感受如何?

4.為什麼選擇做前端(android),身邊有其他同學做android嗎,平時有交流技術嗎?

5.有了解自己的崗位做什麼的嗎?

6.還面了哪些公司,進度如何?後續有相關通知會聯絡你,有問題可以打電話給我

尾聲

無論什麼技術,熱不熱門,學習都是不可間斷的,乘著年輕磨礪技術才是王道,不然在程式設計師這個後浪一波比一波洶湧的職業裡混,你想吃青春飯都吃不了幾年。不過,想提升是一回事,如何有效提升就是另一回事了。我工作近十年,也帶過不少實習生、應屆生,很多年輕人真的很努力在學,加班加點工作賣力,但也就是差點火候,還是方法不對。

什麼是方法,方法就是跟著身邊大佬走,多問多學,如果身邊沒有大佬也可以加入我們學習資源交流群,全國的小夥伴天南地北,可以一起聊天學習,更加了解這個行業情況,趨勢與走向。
Android面試題(部分展示)

資料結構與演演算法面試題(部分展示)

原始碼精編解析(部分展示)

自行領取直達連結:【點選獲取

自行學習交流直達連結:【點選獲取