1. 程式人生 > >2017春招實習面試回顧:從面試連跪到收割offer

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面:

已面完,問了半個小時問題,感覺還可以啦。