作者:皮蛋瘦肉粥
連結:https://www.nowcoder.com/discuss/85227
實習僧上投遞的簡歷,6.25下午投遞,當天被檢視,6.26上午收到面試邀請,約定面試時間7.4 14:00,沒估計好路上的時間,大概1:10分左右到達,在一樓休息區等了半個小時,才上樓去前臺登記面試,面試的人很多,以為要等很久,沒想到剛坐下就被叫到了,emmmm,面試這個崗位的只有我一個?
一面,是個女面試官,45分鐘
上來先自我介紹,然後….“我們先來寫個演演算法吧,寫個歸併排序”
我的天,我都懵了好麼,能怎麼辦,捂著我的小心臟寫啊,幸好之前把幾大常用演演算法都整理了一遍,去的路上也一直在看幾個演演算法的程式碼,磕磕絆絆總算用遞迴寫完了,還好她沒有要求要用迭代寫,真讓人頭大。
接著問了網路相關的問題:
-
http的請求過程
-
tcp的三次握手
-
使用者是如何透過url地址訪問到伺服器的,它怎麼知道要訪問哪個瀏覽器
-
http的請求頭都有什麼內容(這個不太記得了,沒答好)
-
http與https的區別
-
網路的七層協議(沒準備這個,雖然學過,但是忘了…)
-
get和post的區別
接著是java相關的
-
用過鎖麼,鎖載入方法上叫什麼鎖(我內心 啥意思啊..隨便答了個物件鎖,沒想到還真是…)
-
一個類裡A B兩個方法都加鎖,C執行緒訪問A的時候,D可以訪問B麼?
-
可重入鎖是什麼意思?
-
一個類用final修飾是要乾啥?(內心:還有這操作?)
-
jvm記憶體模型,為什麼要瞭解‘
-
垃圾回收機制,哪些是要被回收的物件(哪些被回收?不用了的死了的物件啊。。判斷依據是什麼??布吉島)
-
有瞭解過註解麼?(瞭解過,註釋是給人看的,註解給機器看的,override,壓制警告之類的)
-
自定義註解?(@interface) 具體的實現原理(不知道) 原始碼階段還是編譯時還是執行時(我說編譯時,好像不對?)
(之前在bilibili上看影片學到,記了筆記,但當時的感覺是,註解?面試官不能問這個問題吧,白學了,,今天,嘿嘿嘿,開心)
然後是android開發相關的
-
singleInstance和singleTask的區別(我記反了,捂臉)
-
瞭解過手勢操作麼(沒有)
-
recycleview和listview的區別(只知道前者能區域性掃清)
-
有瞭解過android新技術麼?(沒有)
-
view和viewGroup的區別(不知道)
二面,男面試官,一看就是技術大佬,60分鐘
首先自我介紹,然後…手寫程式…最短時間內,計算5個磁碟的大小的和,每個磁碟的計算方法的呼叫過程都很耗時
簡直一臉矇蔽哦,又來…這個真不會…強行建立了5個執行緒..然後該做啥我也不知道了,乾脆就讓直接計算了.。。。
-
tcp和udp的區別,使用場景
-
寫一個單例樣式,如何做到執行緒安全(雙重加鎖)(又寫…)
-
找出一個陣列內最大的n個值,並存到陣列中傳回。(還寫…感覺沒寫好。。)
-
volatile作用?如何保證執行緒之間可見的?(答了一些,感覺可能回答的深度不夠,這個問題問了很久)
-
序列化serializable和parcelable的區別(我…面試官當時不會寫序列化這個單詞,準備在電腦上找,我對他說,不用找了,我不會!第一個見過,第二個沒見過..確實沒複習到…當時就沒學懂….)
Android相關
-
activity被區域性遮擋以後的狀態,以及取消遮擋以後的狀態(onPause(),onResume())
-
singleInstance和singleTask的應用場景(只知道主介面用singletask)
-
畫多個activity的入棧出棧圖
-
activity中onNewIntent方法(沒見過)
-
listview中有個方法的引數是什麼意思?(不知道)
-
還問了挺多吧,反正都不會…
最後一題:
-
Integer A=1
-
Integer B=1
-
Integer C=new Integer(1);
-
Integer D=129
-
Integer E=129
==的傳回結果,嘿嘿嘿,當時也是皮了一下,我說,本來不是很確定,但既然你都問了A==B,那D==E肯定是false,然後說0-127,這128個數肯定都相等;
沒想到皮過了,人緊接著問我,那-3呢?真的不知道原理啊,但我覺得肯定相等,直覺以及迷之自信!
最後,面試官說,我的問題都問完了,你有什麼要問我的麼?
我也不知道該問啥啊,直接說沒有了,然後面試官又問,沒有麼?
我。。那請問你有女朋友麼?面試官說這個不方便告訴我=。=
等hr面試通知,emmm,但是我感覺我已經涼了啊
朋友會在“發現-看一看”看到你“在看”的內容