面試想拿 15K,HR 說你只值 10K,我前三面白麵的啊!經理都沒你這麼囂張…
本三,再普通不過的學校,沒啥學術氛圍,30多個男生5個女生,科班
雖然沒啥學術氛圍,但是上課我會和舍友經常坐在第一排,別想多了,沒這麼好學,其實就是學校小,從宿舍到教室10幾分鐘,為了能在宿舍多呆一會,每次上課前一分鐘我們總能「按時到」,這也就導致第一排的寶座非我莫屬,不得不接受老師的唾沫橫飛
課程學了java、Android、mysql、oracle、C#、HTML等
就這樣和大部分大學生一樣,我度過了我的大學,一眨眼,一眨眼…
然後我就迷迷糊糊踏上了找工作之旅。
馬上大四了這時候我慌了,就在boss直聘上找實習,第一份實習offer是一家小公司,貌似做小程式之類的外包,面試了半小時,說進來實習可以但是要學c,拒了
這個時候大四開學,開學看到小夥伴很高興就忘了這些糟糕的事,慢悠悠找實習,在[前程無憂裡面找,找的不太滿意,百度了一下大家都說不好,那就算了,始終沒找到滿意的。對。這個時候我只知道前程無憂和boss直聘。boss直聘是學長介紹的。前程無憂眾所周知。其他一概不知。就沒花多少心思在這上面。。
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嗎? 答,是的
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以及準備面試?
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.如何判斷
手撕程式碼 求集合所有的子集
1.電話簡單的聊了一下
2.哪裡人?現在在家嗎?
3.實驗室什麼方向,學校什麼時候開學,上網課跟平時上課有什麼區別,感受如何?
4.為什麼選擇做前端(android),身邊有其他同學做android嗎,平時有交流技術嗎?
5.有了解自己的崗位做什麼的嗎?
6.還面了哪些公司,進度如何?後續有相關通知會聯絡你,有問題可以打電話給我
無論什麼技術,熱不熱門,學習都是不可間斷的,乘著年輕磨礪技術才是王道,不然在程式設計師這個後浪一波比一波洶湧的職業裡混,你想吃青春飯都吃不了幾年。不過,想提升是一回事,如何有效提升就是另一回事了。我工作近十年,也帶過不少實習生、應屆生,很多年輕人真的很努力在學,加班加點工作賣力,但也就是差點火候,還是方法不對。
什麼是方法,方法就是跟著身邊大佬走,多問多學,如果身邊沒有大佬也可以加入我們學習資源交流群,全國的小夥伴天南地北,可以一起聊天學習,更加了解這個行業情況,趨勢與走向。
Android面試題(部分展示)
資料結構與演演算法面試題(部分展示)
原始碼精編解析(部分展示)