面試崗位
Java開發工程師(校招)
筆試
沒有筆試,人在家中躺,面試天上來。來了個面試官打電話問有時間面試嗎,我說有,然后立刻開始了電話面試。
一面
項目中后端
Django
,為什么后來修改為了Java
。項目中為什么用了
K8S
,好處有什么?Java
的數據類型有哪些?
答:byte
,short
,int
,long
,float
,double
,char
,boolean
MySQL
中,有一個聯合索引(A,B,C)
,如果查(A,C)
會走索引嗎?
答:會走A
,但是不會走C
,因為B+
樹是先按A
排序,再按B
排序,再按C
排序。三個線程分別輸出 1-10,11-20 和 21-30,如何實現?
答:這里我直接把我知道的方法都說了一通,主要參考以下兩個題解:
《1117.H2O生成》以及《1116.打印0和奇偶數》場景題,說要提供一個查詢天氣的服務,但是每次去查詢是要收費的,問你大概會考慮哪些因素?
答:首先是查詢操作一定是放在服務器的,用戶行為只能查到緩存內容;
二是查詢是懶漢式,即對于頻繁查詢,我們定時去查詢,對于稀疏查詢,我們可以等有人查詢了再做查詢;
三是得搞個IP
池,防止頻繁搜索被ban
。延伸出來的可能還有爬蟲爬取時的一些考慮了,比方說爬取速度,是否可以只爬取某些字段,需不需要登錄,用不用集成驗證碼識別等此時面試官問我有電腦在手頭不,然后開始搞上機題。
7.1 給了以下代碼問錯誤是什么:
public void search(List<Node> arr){
String myname = "MyName";
try{
for(int i = 0; i < arr.size();){
if(arr.get(i).name == myname){
arr.remove(i);
}
else{
i++;
}
}
} catch(Exception e){
System.out.println("exception");
} catch(ArrayIndexOutOfBoundsException ex){
System.out.println("OutOfBounds exception");
}
}
答:這里我看了半天那個 for
循環,但實際上不存在異常訪問;代碼的錯誤在下面的 catch
中,Exception
是基類,不可能走到 ArrayIndexOutOfBoundsException
中
7.2 大數據流中找第 k
大數。
答:優先隊列
二面
項目大概說說。
項目的穩定性考慮過嗎?
項目有做分布式處理嗎?
項目總周期是什么?你是怎么分配工作時長的?
項目的技術棧如何選擇的,遇到問題了怎么解決?
為什么引入了
Docker
,作用是啥?微服務了解過嗎?
看你還做過
Android
項目,有遇到什么難點嗎?了解過
Android
圖像傳輸的問題嗎,比如傳輸效率,如果圖片特別大怎么辦?
答:我當時前后端用的就是簡單的以文件形式的通訊,如果現在讓我想的話,我可能會把圖片解析成三通道,這樣全都是以數據流形式傳輸,到了服務器再做拼接。說的不錯,那你知道
http
其實用的就是這樣的多通道形式傳輸嗎?知道他的實現方法嗎?
答:不知道IOC
和AOP
解釋一下
答:面向切面編程,把一些和核心功能無關的又必不可少重復性高的工作,做成函數,放到核心功能前后,相當于把原有的功能做了一個包裝。
原先我們在某個類中需要另一個類的時候,需要手動new
一個新對象,而控制反轉則是通過Bean
的byType
和byName
之類的方式,將類之間的依賴關系交給Spring
來完成,由他來創造新的對象,并賦予對象之間相互關系。Bean
生命周期了解過嗎?
答:首先用類的無參構造方法(或指定的有參構造方法)創建一個對象,但此時對象里面還沒有內容,我們還需要根據Autowired
等標簽做依賴注入,然后初始化前(PostConstruct
),初始化中(InitializingBean
),以及初始化后(AOP
),最后得到一個動態代理的Bean
對象。然后使用,最終銷毀。
三面
學習成績 / 獎學金 / 實習 / 獎項 / 競賽
答:一無所有趙二狗你如何學習新技術?
答:項目驅動,我的個人項目是 ①Django
后臺 +HTML+CSS+JS
前端; ②Django
后臺 +Android
前端人機交互; ③(Django) + Java + K8S + SpringBoot + VUE
。可以看到呈現一個不斷復雜的過程,我認為學習就是在原有基礎上增加新的模塊和功能。那你這個都是學校項目學習,太淺了。為什么不找個實習
答:……
HR面
三面沒通過,但既然在寫阿里面試經歷,補一個暑期實習的面試經歷好了。
當時是三面過了,到 HR
面。對方提前 15
分鐘來電話:
一會有個會,可以提前開始嗎?
答:可以,開始自我介紹你覺得自己有什么優點?
答:樂觀,相關接觸面較廣,恰好能貼合招聘要求你覺得自己有什么不足?
答:沒啥領導能力,不擅長分配工作還有什么要說的嗎?
答:?這就要結束了?
然后最終我暑期實習掛在了 HR
面,每當有人問起我暑期為什么不找個實習,我都只能回復 “找了,但可能找的有點晚了,沒有 hc
了”。
感受
一開始挺好,覺得問的聊得都挺不錯,但是技術三面不問技術這個確實給我傷到了,也是這場面試讓我覺得還是得投一下實習,不能老悶頭在實驗室搬磚了。