攜程Java后台開發三面面經


前言

攜程是我面試的第一個互聯網公司,投遞的崗位是后台開發實習生,總共面了三面,止步於人才庫。中間兜兜轉轉,復雜的心理活動,不足與外人道也。唯有面試的技術部分與大家共享。

宣講會完了之后有個手寫代碼的筆試,大致內容:

1已知有一顆二叉排序樹,向樹里面插入節點,如果該節點已存在(節點值相等),將節點中的count字段加一;如果不存在,將節點插入樹中,並將節點的count值置為1。自行設計數據結構,插入算法並且分析算法的復雜度。

題目比較簡單,寫完交卷。晚上一點左右接到一面面試通知.

一面

例行自我介紹、項目介紹。然后開始面試:

項目是用http還是https訪問的。答:https。

http 1.0 和 http 2.0的區別?

說下https 的請求過程。

說說ssl四次握手的過程。

在java 7 和 java 8中GC的區別。

看你的項目上面有做大文件的分片上傳,在上傳的過程可以做其他的事情嗎?是否可以后台運行?

多個task是在一個進程中運行嗎?

數據庫建索引有哪些考慮?

之前保存文件分片序號的時候會出現臟讀的情況,如何防止臟讀?事務隔離是怎么做的?

304狀態碼有什么含義?服務端是如何實現的?

二面

技術和算法問的比較少,全程都在談人生理想和職業規划。

算法

1在一個給定數組中找到最大的兩個數。

為什么很多類要定義成抽象類?

三面

22號星期二,接到hr面試預約電話。24號下午視頻面。面試官看起來斯斯文文的,親和力也很好。自我介紹之后面試正式開始。

java基礎:

ConcurrentHashMap 1.7和1.8的實現有什么不同。

get() 和 size()是否要加鎖?如何加鎖?

泛型在編譯期和運行期的作用。

線程池是如何創建的?需要幾個參數?分別是什么含義?

鎖:

樂觀鎖和悲觀鎖的區別。

樂觀鎖和悲觀鎖的實現。(數據庫、Java)

CAS syncronized實現有什么區別。

violate關鍵字。

數據庫:

數據庫索引結構。

數據庫對sql語句的解析過程。

JVM

JVM GC的優缺點。

假設一個場景,要求 stop the world時間非常短,你會怎么設計垃圾回收機制?

有沒有用過JVM相關工具?

算法

海量數據top K算法,講一下思路。

設計模式

策略模式和XX模式的區別。(這里因為沒有看過其他設計模式,當時問這個題目的時候腦袋都是懵的。)

一二面面的都還可以。第三面面的不是很好。吃完飯查了下狀態直接進入人才庫了。比較遺憾。

 

作者:唐小敗

本文來源於牛客網

——————————

牛客網(www.nowcoder.com)

- 互聯網名企筆試真題

- 校招求職筆經&面經

- 程序員求職實習信息

- 程序員學習交流社區


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM