微信公衆號【程序員江湖】java
做者黃小斜,斜槓青年,某985碩士,阿里研發工程師,於2018 年秋招拿到 BAT 頭條、網易、滴滴等 8 個大廠 offermysql
我的擅長領域 :自學編程、技術校園招聘、軟件工程考研(關注公衆號後回覆」資料「便可領取 3T 免費技術學習資源)jquery
前幾天我發了一篇文章從零基礎到拿到網易Java實習offer,我作對了哪些事,這篇文章介紹了我準備2017年春招實習的歷程。可是呢,裏面沒有很詳細的麪筋,不少讀者以爲不過癮,因而筆者從塵封多年的帖子中找到了我當年記錄的面經,在這裏分享給各位看官哈。linux
壹程序員
今生與你,江湖相逢面試
阿里巴巴 春招實習 電話面試redis
一面算法
那一年春天,大概是3月份左右,興致勃勃地投了阿里的Java實習崗位,沒有內推,走的是正式流程,結果面試卻來的比想象中早一些。spring
當時是在阿里招聘官網上直接參加視頻面試,第一次面阿里,當時仍是挺緊張的。sql
一面面試官問的問題比想象中要簡單,一塊兒來看看都有什麼題目吧。
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的數據包格式
騰訊確實很喜歡考計算機網絡,我當時對這塊基本沒準備,掛的很完全。
四、mysql數據庫鏈接池的驅動參數
五、數據庫鏈接池如何防止失效
六、部署項目時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 兩個智力題
甲有一個王和另外一張牌,乙有兩張牌,問甲擁有兩張王的機率和乙擁有兩張王的機率
機率問題,不會作
一個圓桌,兩人放棋子,誰沒地方放旗子誰輸,問有沒有必勝辦法。
先手放在圓桌中心則必勝
若是你是Java方向的同窗,那麼我打算向你安利個人另外一個微信公衆號【Java技術江湖】這是一位阿里Java工程師的技術小站,致力於分享Java後端技術文章,以及這幾年學習Java的心得體會,偶爾也記錄在阿里成長的點滴,和你們一塊兒在Java學習道路上成長。
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面掛:
一、自我介紹
二、項目的背景
三、實習遇到的困難和感覺
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面:
已面完,問了半個小時問題,感受還能夠啦。
如今回想起來,當時蘑菇街和美團的offer也是不錯的,不過由於筆者一對網易遊戲有情懷,最後仍是選擇了它。
至此,咱們找實習之旅也到了尾聲。以上就是我所有的實習面經了,不知道你們看的過不過癮呢。
若是你也有面經想要和你們分享,那不妨來找做者投稿吧。每一段找實習或者找工做的經歷都是各不相同的,相信你的那一段經歷也值得收藏。