1. 程式人生 > >Java 開發實習面試經驗

Java 開發實習面試經驗

我找的是長期實習,準備整個研二都在上海實習,所以面試的公司都是在上海。我主要面試了兩輪。第一輪在5月份,基本上沒有準備,試試水深。然後準備了一個月多,第二輪在6月份。
簡歷基本上都是在實習僧上投的,有的在拉勾網上投的。零零星星面試了一些公司,現將記憶深刻的面試經驗總結一下。問題答案自行總結,我對問題的分類總結和擴充套件將持續在我的github 上進行更新,歡迎關注。

5月份:

東方海外貨櫃

這是我面的第一家公司,面試形式是電話面試,技術面和 hr 面交替進行,現在想想這樣的面試方式還真是別具一格,大概面了40分鐘左右。主要問題如下:

說一下 java 的垃圾回收機制?

我還沒說完,技術人員就說,這樣吧,你說一下

什麼時候會觸發 full gc?

垃圾收集時間很長,而正常程式的執行時間很短是因為什麼?

問專案

專案問的蠻仔細的,問了跟專案有關的一些實際問題,例如,萬一出現這樣的問題怎麼解決?如果我想這樣你會怎麼做?具體專案自行腦補。

專案中你遇到問題,是如何解決的,如何交流的?

你有什麼問題要問我的?

我問了一下,你們公司主要用什麼技術?他說了服務端主要用 java,資料庫是 oracle, 前端技術有很多,說了一些,有的不太瞭解。然後我又問了,你們公司產品的使用者量大概有多少?他說目前主要還是做國內市場,大概在百量級。然後還問我,你問這個問題是因為你有什麼創新的想法嗎?

HR 面

HR 問了為什麼選擇去上海?然後問了一些雜七雜八的,感覺 hr 很精明,不是很好對付。

環勝電商(算 offer 吧)

hands on 設計

簡歷通過後,會收到郵件,要求使用 Spring+MyBatis+CXF 設計一個查詢學生資訊的 Restful 服務,時間大概在5天左右,根據設計速度和質量進行篩選。

hands on 設計通過後,會收到技術面試電話,這個電話是在晚上8點左右收到的。主要問題如下:

一上來就問你對 Spring 的理解?

我大概說了一下,面試官一直說,沒啦?就這樣沒啦?

資料庫的4個隔離級別?

我表示忘記了。這個問題面試時問的還蠻多的,後來準備了一下。

單例模式?Spring 的單例模式?

面試官很喜歡問對 Spring 的理解,面試官態度不好,最後掛電話的時候態度也很差。
面完之後,很長時間沒聯絡我,我就想肯定掛了。搞笑的是,大概隔了一個月,這個電話面試我的技術人員,又在晚上8點左右給我打電話,說我能不能提前一個月入職,我接到電話的時候有點懵,回憶了好久才想起是哪個公司。我說不行,學校不讓走,他說能不能遠端工作,我說我很忙,沒時間遠端工作,態度一如當年他對我的態度。

估計他們公司後來比較忙,急需實習生。

今日頭條

面試形式,電話面試。今日頭條的面試官我非常喜歡,態度和藹,而且問問題很有水平,我回答錯的問題,他不會立馬否定我,而是再提出另外一個問題,讓我自己發現我的問題。發現我有不少不會的問題時,就會問一些簡單的問題,緩解一下我的小憂傷,很 nice 啊。主要問題總結如下:

Object 類下有哪些方法?

這個問題問的很多,後來愛奇藝面試官也問了這個問題。

資料庫的索引有什麼作用?有什麼優缺點?

這個問題也經常問,星環科技 愛奇藝 都問了這個問題。

除了樹,還有哪些資料結構能夠達到 O(lgn)?

Linux 殺死一個程序的命令?

HashMap 重寫 hashcode 方法, equals 方法,重寫了hashcode 方法一定要重寫 equals 嗎?反過來呢?

這個也是很經典的問題。

說一下 HashMap, 為什麼java7不用紅黑樹?

Spring怎麼實現設計模式的,單例模式有什麼好處?

說一下你對 Dijskra 演算法的理解?

最後是一個演算法題目:抖音上有很多明星,每個明星有很多粉絲,現在考慮兩個明星 A, B,這個兩個有很多粉絲,設計一個演算法,重新分配粉絲使得這兩個明星的粉絲數相差最小。

最後面試官提示是0-1揹包問題變體。

最後面試官還很善良地安慰我,別灰心,沒面上也沒事,你還可以面我們公司其他的崗位啊。

6月份:

普元資訊科技股份有限公司(offer)

第一輪:線上筆試 (1h 4道題)

1.將字串“name:tiger;age:21;birthday:1995/11/11;”轉換成 Student物件。

2.將第一道題的Student物件使用jdbc儲存到mysql資料庫,要求寫出資料庫建表指令碼以及寫出使用jdbc插入資料庫的java程式碼。

說明:mysql資料庫連線資訊如下:
driverclass: com.mysql.jdbc.Driver
connection URL: jdbc:mysql://127.0.0.1:3306/test
username:root
password:000000

3.氣泡排序

4.基於 springBoot 提供一個 /hello?name={name}的RESTful介面(HttpMethod=GET), 返回結果為 “Hello ${name}”.

第二輪:視訊面試,全程幾乎問的都是專案,面試我的是我的校友,很 nice. 主要問題如下:

大概介紹一下你的專案,你主要做了什麼?

我介紹完之後,根據我的介紹,問了幾個實際問題。

在哪部署專案的?

專案中遇到問題是怎麼解決的?

用什麼版本控制工具?git 如何檢視兩個不同的版本?

linux 變更檔案和目錄許可權的命令是什麼?

你有了解過 Mybatis 為什麼可以不寫實現類嗎?

開發過程中,不同的模組之間是如何整合銜接的?你們是怎樣安排模組開發的?

你有什麼問題要問我的?

第三輪:HR 面

你除了對 Java 開發感興趣,還有自學過其他什麼技術嗎?

我說了一下了解 神經網路 和 區塊鏈……

你平時除了學習之外,還喜歡做什麼?

我說我辦了一張健身卡……

你最痛苦但是覺得很有意義的事情是什麼?

你能發現生活中的哪些現象?

下面是一道情景題,請注意聽,如果。。。。

還有一些問題,記得不太清了,表示這個 HR 面 比技術面累人啊,面了大概40分鐘左右。然而這並沒有結束,HR 面後,進行心理測試,200題。做完題目後,3天后才收到 HR 的電話,說面試通過了,我一直以為我的心理測試掛了……

星環科技(offer)

一面是電話面試,面試官是個女的,很 nice, 我說的不好的地方,會很禮貌地反饋給我,在我沒有思路時,會給點提示。主要問題如下:

說一下HashMap

equals() 和 hascode()

介紹一下專案。專案中你最大的收穫是什麼?

與專案有關的 一致性hash 演算法。

說一說你對資料庫索引的理解?二分查詢也蠻快的,為什麼資料庫索引要用 B+ 樹等資料結構?

演算法:怎麼樣判斷兩個連結串列有沒有公共節點,只遍歷一次。

前端的技術你大概瞭解多少?

二面也是電話面試,面試官是個男的,年紀不大的樣子,南大畢業的,也很 nice, 面試官希望你把你會的都展現出來。主要問題如下:

說一下你對 Java 多型的理解

我舉了個貓叫狗叫的例子,面試官很可愛,說我說的很形象。

說一下對 Java 關鍵字 static final 的理解

說一下過載和重寫的區別

關於 Java 併發,把你會的都說出來

我先說了一下多執行緒,執行緒的建立,執行緒間通訊,執行緒同步,隱式鎖,顯示鎖,Executor 框架,執行緒池等。基本上就是把自己能想到的都說了一下。對於我說的東西,面試官問了一些細節問題,記得不太清楚了。例如,notify() 和 notifyAll() 的區別。

HashMap 有了解嗎?

Java8 原子型別有了解嗎?

這個我不會,還沒用過。

網路知識瞭解嗎?5層模型?TCP UDP 的區別?

你常用的 linux 命令有哪些?

你有什麼要問我的?

聊了一些公司主要做什麼,實習生去了會直接上手專案,邊做邊學。

HR 面:很簡單,說一些工作氛圍,工資,入職相關的事項,希望我儘快給回覆,他們要安排一下。

愛奇藝(offer)

愛奇藝是現場面試的,一共只有一面。面試我的是個蠻好看的小姐姐,人也很好,自己準備了一些筆試題,先問理論,問完一個知識點,做一兩道讀程式題/寫程式碼。主要問題如下:

Java 基本資料型別有哪些?你能說說 int 和 Integer 的區別嗎?

equals 和 == 的區別?

這裡有程式設計題,小姐姐自己出的題目,各種情況都有,我做的有點暈。

GET 和 POST 的區別? 登陸時用 GET 還是 POST?

你瞭解些設計模式?寫一個單例模式。

Java 值傳遞 引用傳遞問題

這裡做了好幾個程式設計題

有了解 redis 嗎?

寫一個 折半查詢演算法

寫一個 氣泡排序

建立索引時需要注意哪些問題?如何使用索引?

然後小姐姐寫了一個例子,問我她寫的對不對,我說對呀,小姐姐說不對呀,索引要遵循最左原則。我表示資料庫的知識忘得有點多。

HTTP 狀態碼你知道哪些?

3天后收到 HR 電話,也很簡單,大概說了一下工資,入職什麼的。