2017春招實習面試回顧:從面試連跪到收割offer
阿里巴巴 春招實習 電話面試
一面
那一年春天,大概是3月份左右,興致勃勃地投了阿里的Java實習崗位,沒有內推,走的是正式流程,結果面試卻來的比想象中早一些。
當時是在阿里招聘官網上直接參加視訊面試,第一次面阿里,當時還是挺緊張的。
一面面試官問的問題比想象中要簡單,一起來看看都有什麼題目吧。
1 專案
當時我沒有什麼拿得出的專案,一個是學校的實訓專案,一個簡單的Java Web應用。另一個則是我在大四暑假水來的實習專案。總體來說沒啥亮點。
2 專案中的問題
面試官顯然對這些專案沒啥興趣,所以沒問幾個問題就跳過了。
3 Java三大特性
4 Jvm虛擬機器 記憶體結構、演算法、垃圾回收
當時已經看過了《深入理解JVM》所以這些問題基本都回答上來了。
5 集合類 連結串列和陣列的區別 map和set的區別
主要考察對集合類原始碼的理解,那個時候理解的還不深,但是這些都是面試常見考點,我靠著刷面經也基本都答上來了。所以建議大家要多看看集合類的原始碼,後來我在秋招的時候就避免了這一問題。
6 二分查詢程式碼
7 mysql相關的問題
8 spring
9 前後端資料互動
10 網路、作業系統
後面這些問題記不大清了,但是都問的比較基礎,基本上就是刷過面經就能搞定的程度,當時對資料庫的索引沒有答好。
後續:
一面之後馬上來了二面,二面面試官問了一個問題就讓我等結果,並且告訴我他們的部門是阿里雲。
本來我還以為這是過了的意思,後來一個HR問我一週內能不能到崗,我說大概要兩週,結果。。。結果居然就沒有下文了。
到現在我都不知道這個HR是不是因為時間問題而拒絕了我。於是我就這樣第一次和阿里擦肩而過。(第二年春招實習我又和阿里擦肩而過,不過那一次是我主動放棄的)
所以告誡大家,如果真的是很想去的公司,一定要做好隨時打包上班的準備,不要重蹈我的覆轍。
騰訊 春招實習 電話面試
一面掛
很興奮地參加了騰訊的春招實習生面試,當時對騰訊的後臺開發崗位還沒啥瞭解,事業群也沒選。然後妥妥地一面掛了。
1 http的資料包格式
2 tcp包含ip麼
3 tcp的資料包格式
騰訊確實很喜歡考計算機網路,我當時對這塊基本沒準備,掛的很徹底。
4、mysql資料庫連線池的驅動引數
5、資料庫連線池如何防止失效
6、部署專案時tomcat 的引數
問的角度有點刁鑽,當時沒答上來,感覺有點勸退的意思。
7 熱載入的原理
8 mybatis的#和$號區別
9 java的jdk原始碼
10 hashmap的iterator讀取時是否會讀到另一個執行緒put的資料
這個是不會的,迭代器在迭代時如果集合類插入新元素,modcount會變化,此時迭代器的迭代過程應該會失敗退出。
11 Linux的顯示資料夾大小 ls -al
12 Linux的檢視埠狀態 natstat加引數
13 linux的檢視程序的啟動時間 linux ps
好吧,這就是騰訊第二喜歡的作業系統和Linux。
騰訊 日常實習生 電話面試
一面掛
當時我已經去了網易遊戲實習,某天在杭州逛該的時候,接到了騰訊的面試電話,於是我就在商場裡完成了這次面試。當時是CDG部門面的我,尷尬的是當時我不知道這個事業群,導致我重複問了面試官好幾遍才確認:好吧,我沒聽說這個事業群。
簡單說一下面試題吧:
1 自我介紹
2 專案
3 java的堆和棧
4 記憶體洩漏發生在哪
5 設計模式 工廠模式 單例模式 舉例子
6 mysql資料庫 實現層級樹形結構 引擎 索引 查詢優化 多方面
這些面試題跟之前面試遇到的沒有太大區別,但是答得並不是很好,因為我那時候對有些知識點的理解還是停留在表面,所以時間一長馬上就忘了。這方面不知道各位有沒有同感。
7 微信紅包的設計 開發 注意 使用者資料的統計 專案相關
不是很常見的面試問題,主要考察系統設計方面的知識,沒答好。這道題網上也可以找到答案,一些常見的系統設計場景題例如:秒殺系統,直播系統,大家平時也可以稍微瞭解一下。
滴滴 日常實習生 電話面試
一面掛
1專案ssm
2mybatis與hibernate比較
3快排和冒泡
4hadoop redis
這個當時還不會,連基本概念都不曉得。後來才開始慢慢重視這方面的學習
5 Linux 顯示檔案屬性 殺死程序 找出出現次數最多的ip linux指令
打擾了,對Linux命令極為不熟悉,建議後端同學重視這方面內容的積累。
6 sql中唯一索引的使用
索引欄位若相同則更新,不同則插入。
7 hashmap的執行緒安全,性質
8 多執行緒的使用
9 同步解決執行緒安全但帶來低效率問題。
10 map reduce過程
11 spring的幾個特性
12 aop事務的隔離級別和傳播特性
預設隔離級別: ISOLATION_DEFAULT
感覺答的還可以,但是沒有迴音,有點奇怪。
網易遊戲(offer)電話面試
一面:
1 專案內容
2 資料庫設計
3 專案中併發使用,部署情況,測試情況
4 系統頁面讀取不一致,使用異常或者警告。
5 專案中的上傳功能
面試官對專案考察的挺多,好在我事先準備的比較充分,基本都打了上來。
6 final finalize finally的用法和區別
7 hashmap原理
8 static作用域
9 大型系統的架構:高可用,高效能,伸縮性,擴充套件性。
剛好之前看了《大型網站技術架構》這本書,把後端架構的基礎理論搞懂了一些,所以面試官問起來也能比較好地回答。
10 演算法 二維陣列求最大圖形面積
11 SQL語句 查詢
12 spring的核心原理:ioc aop di
ioc:控制反轉,鬆耦合,自動完成依賴注入。
注入方式:構造器,setter,介面。
實話說,當時對這塊內容理解不深,主要靠刷面經來學習知識點
13 hashmap執行緒安全 stringbuffer 和 stringbuilder.
二面:
1 專案經驗
2 簡歷內容確認
3 兩個智力題
甲有一個王和另一張牌,乙有兩張牌,問甲擁有兩張王的概率和乙擁有兩張王的概率
概率問題,不會做
一個圓桌,兩人放棋子,誰沒地方放旗子誰輸,問有沒有必勝辦法。
先手放在圓桌中心則必勝
360 春招實習 電話面試
一面
1 volatile 原理 使用 指令重排 記憶體屏障 保證記憶體可見性
2 專案
3 Java的特性 抽象類和介面區別
4 aop切面的功能 和繼承的關係
二面:
1 Java的記憶體模型
2 Java gc 演算法 垃圾收集器 分代 分割槽 引數配置
Java程式執行時與記憶體模型的關係,堆中有例項,永久代儲存類的資訊,載入類後自動初始化靜態內容,然後虛擬機器棧進行操作,物件引用指向堆中的例項,例項需要呼叫對應方法。
4 左移有序陣列的二分查詢
5 volatile的實現
6 cas操作的實現
底層硬體支援,cas為一條機器碼指令
7 synchronize關鍵字的使用
8 lock的原理和實現,lock和synchronized的區別
9 寫一個電梯需要用到的類和方法
一道面向物件設計問題,常見的題目我還見過“寫一個地鐵需要用到的類”、“寫一個飯店要用到的類”
10 Java8新特性
明年你們可能要掌握Java9的新特性了吧
HR面掛:
1、自我介紹
2、專案的背景
3、實習遇到的困難和感受
HR面試開始時還跑去接了個電話。
問了不到10分鐘的問題,問題還都是圍繞實習經歷的。
實習經歷問完了直接說今天面試就到這裡了。
她回覆是掛在第三面,理由是問題理解不夠深入。當時我就懵逼了,第一次被HR掛。
所以就算是HR面,大家也要好好準備,要不然就太可惜了。
貳
此生與你,江湖相逢
本文首發於公號【程式設計師江湖】分享程式設計師求職、技術和生活的那些事
京東 日常實習生
一面掛
1 mysql行級鎖表級鎖,sql語句寫select * 時如何加行級索
2 專案中的上傳功能。
3 sql優化方式
4 xss攻擊
5 執行緒安全的實現方式
面試官也挺奇葩,讓我自己打電話找他面試,然後說話快得我聽不清,問問題感覺也是比較隨意,沒下文了。
搜狐(offer) 日常實習生
一面
1 hashmap
2 說一個集合類
3 說說java特性
4 說說js
5 說說jquery
6 專案
7 sql
這個面試明顯很水了,一個女面試官,面了十分鐘就說通過了。
所以有時候不要覺得實習面試過了就很開心,也要根據面試難度來評估對方公司和部分做的事情是否對你有幫助,否則過去之後可能就是完全在打雜,得不償失。
美團點評(offer) 春招實習
一面
1 Java ArrayList如何排序
2 hashmap原理、衝突處理、優化
3 mysql索引使用
4 Java併發包的內容
5 Java方法棧的作用
6 分散式、soa、鎖
那時候對這方面還不太清楚,答得比較水。
7 兩個棧實現一個佇列
8 n個人中挑選m個人
9 平時看什麼書
10 spring的 ioc和aop
11 Java8新特性
12 負載均衡方式
隨機、輪詢、加群輪詢、一致性雜湊
二面
1 mysql引擎
2 專案難題
3 jvm優化,部落格內容
當時部落格寫的還不太多,沒什麼拿得出手的內容,部落格這種東西需要花時間積累,建議各位也寫一些。
4 設計模式中的觀察者模式,聚合和組合,組合和繼承
5 hashmap優化
6 redis,分散式
二面答得不太好。
不過當天發了offer,沒有HR面
CVTE(offer)春招實習
一面
1 資料庫設計
2 冗餘
3 正規化
4 反正規化
比較少見的問題,但是不難,正規化用於減少資料冗餘,反正規化則可以避免多表連線。
5 索引優缺點
6 索引實現
7 mysql引擎行級鎖表級鎖
8 陣列中找到第k大的數。
劍指offer原題,不過我當時只想到了先快排再找第k大的數。實際上在快排過程中就可以找到第k大的數了。
二面
1 資料庫設計
2 閒聊
hr面
面試官一對二面試,問了半個小時,聽說掛人很多,不過最後我們兩個一起面試的都通過了。
蘑菇街(offer)春招實習
一面
1 JAVA的jvm:記憶體模型、分代的介紹、每個代的操作,gc演算法。
2 類載入器、雙親委派模型、雙親實現,反雙親設計,類隔離。
這部分問的很深了,特別是最後兩個問題,把我問懵了。當時面的應該是基礎架構部門,所以做的技術偏底層,問題都比較有深度。
3 hashmap實現、concurrenthashmap實現。
4 volatile實現,鎖分類介紹、AQS介紹、公平鎖非公平鎖介紹。
當時壓根不懂AQS,對於鎖的幾種型別也不夠熟悉(互斥鎖,輕量級鎖,偏向鎖)。這部分內容強烈建議看《Java併發程式設計藝術》以及《深入理解JVM虛擬機器進行學習》
5 併發、併發中的threadlocal原理。
6 tomcat介紹
7 三個任務,每個任務id都為long型別,如何用一個long來表示三個任務都已完成,要求不能用countdownlauch。
答案是:使用三個id相&,若為0則完成否則不完成。(位運算性質)
8 NIO和BIO的區別
當時對NIO和BIO的底層原理不瞭解,只會回答很淺顯的區別,實際上需要更加深入去分析,BIO的本質是基於阻塞IO的socket完成通訊,而NIO是基於IO多路複用來實現的,在Linux上的底層實現就是epoll。
9 Spring的AOP和IOC
10 使用一個數組實現map,可以用i存key,i+1存value。
11 使用一個數組實現一個連結串列,i存自己下標,i+1存下一個結點下標,i+2存值。面試官要求使用移位操作。沒答上,轉而提問了問題7.
二面
很水,問專案,問學習經驗,問一些有的沒的。
看什麼書,學過哪些技術。
HR面:
已面完,問了半個小時問題,感覺還可以啦。