2018春招實習面試經歷

 

阿里菜鳥  app後端開發  簡歷面   3月1日    32分鐘html

1,hashset的特色 底層數據結構  用的hashmapjava

2,hashmap底層數據結構 是否線程安全   如何避免hash衝突  用什麼能夠保證線程安全 concurrentHashmap的底層數據結構mysql

3,秒殺系統的核心數據結構 優先隊列  用堆實現的優先隊列有什麼好處 能夠減小流量linux

4,i++如何實現原子操做?  jdk中concurrent.atomic包中的相關類如 AtomicIntegergit

5,類加載機制 雙親委派的好處  能夠保證一個類只被一個類加載器加載   和JDK自帶類同名的自建類不會被加載 http://www.cnblogs.com/lanxuezaipiao/p/4138511.html程序員

6,java有幾種類加載器  Bootstrap  Extension  Application  github

7,mysql的binlog 面試

8,spring的ioc原理算法

9,arraylist和linkedlist的區別spring

10,servlet是否線程安全

11,like %xx  l和like xx%是否有效率差別  前者會使索引失效

12,mysql索引的種類有哪些

總結:阿里是第一個面試個人公司,晚上8點多忽然打電話來,那時我剛和同窗出去吃飯回來,猝不及防搞個人很緊張,另外因爲我的緣由有3個月左右沒怎麼學習過,因此不少東西都忘了,表現的很差.如問個人第一個問題servlet是否線程安全都沒答上來,給面試官的印象很很差,因此簡歷面就跪了..

 

 

 

美團點評  出行事業部  大數據分析崗   一面 二面   3月2日    共2小時

1,nio aio講一下

2,hashmap的底層數據結構 如何防止hash衝突 爲何hashmap是線程不安全的 爲何會循環引用

3,spring 的ioc和aop原理

4,跳躍表講一下

5,垃圾回收有哪些算法 

6,類加載器有哪些 雙親委派原則是怎麼樣的

7,java內存的5個區域

8,判斷對象是否能夠回收的算法

9,threadlocal的做用,底層數據結構

10,線程池中的參數介紹

11,volitile關鍵字的做用  可見性 防止jvm指令重排

12,觀察者模式講一下

13,linux的命令 如何查詢一個目錄下大於500m的文件

如何查出一個目錄下的全部日誌文件

如何查詢一個日誌文件的最後10行

如何統計一個日誌文件的字節數   wc -c xx.log

14,tcp協議的3次握手 4次揮手

15,快速排序的原理  手寫快速排序

16,手寫反轉鏈表

17,一個有序數組 給定一個數target 寫一個函數判斷這個數組中是否有兩個數加起來等於給定的數   如 2 3  7 8 9   給定15  數組中有7+8等於15  

        https://blog.csdn.net/woliuyunyicai/article/details/44222949

18,講一下一個完整的http請求過程

19,動態規劃時間複雜度

20,http中常見的響應頭 請求頭有哪些

21,concurrent包下知道哪些類   ArrayBlockQueue LinkedBlockQueue  ConcurrentLinkedQueue CopyOnWriteArrayList    CopyOnWriteArraySet  ConcurrentSkipListMap   ConcurrentSkipListSet  SynchronousQueue  PriorityBlockQueue DelayQueue CountDownLatch CyclicBarrier  Semaphore Exchanger  Executors  Callable Future FutureTask  ConcurrentHashMap ...

總結: 因爲前一天晚上阿里面試表現很差,後來在去美團的路上看了看虛擬機的東西,因爲以前系統看過一遍,因此看一下很快就記回來了,後面就是由於一面的時候虛擬機部分答的好過了一面,可是二面的時候寫劍指offer的原題 真的過久沒寫代碼降低不少,是在面試官的提示下勉強答出思路, 一面的時候手寫快速排序也是寫的很尷尬.. 雖然最後二面面試官(應該是一個leader)說以後會有hr聯繫我,當時真的覺得過了,可是如今想一想這個面試表現真的基本不可能會過的,如今想一想若是真要找實習不要這麼着急的,應該先恢復一下實力再投的.

 

 

 

小米   雲平臺基礎部門  分佈式框架改進 一面 二面   3月5日   共2小時

1,說一下nio和io的區別 nio的原理 

2,簡單介紹下hadoop、storm

3,linux中    如何查看一個進程的cpu佔用率  內存佔用率  ps aux 或top(動態查看)  或先用top找出要查看進程的pid,而後進入proc文件系統查看 如 cd 1       less status

    如何查看服務器內存使用狀況  cpu使用率  vmstat 2 (每隔2秒刷新一次)                  

    如何查看服務器內存使用狀況  free -m

    如何查看服務器磁盤空間使用狀況 df

    如何查看主機的ip地址 ip addr show 或 ifconfig

  

 查看磁盤空間使用率的命令:df
查看系統進程命令:top
檢測Linux性能的命令:ps,free,vmstat,netstat

 

4,手寫代碼 將一個單向鏈表每m個數反轉一次,最後不足m的不反轉

5,一個二叉樹,節點中的元素的值爲正數負數或0,求最大子樹和,  https://blog.csdn.net/andahuzhuang/article/details/52037394

6,手寫合併2個有序鏈表,使得新鏈表仍然有序

7,詳細講一下多線程生產者消費者例子

8,講一下並查集  其應用場景在哪裏   https://www.cnblogs.com/xudong-bupt/p/8097475.html

9,講一下java虛擬機的內存結構 5個區域

10,線程池介紹一下

11,手寫一個死鎖例子

12,講一下tcp協議的3次握手

 總結:   一面的時候寫的代碼勉強寫出來因此過了一面,二面面試官就是打電話叫我來面試的男人,我以前覺得他是hr,他過來的時候我還覺得小米只有一面,而後就直接hr面了,而後當他坐下來開始問我多線程問題的時候我才知道我真的是too young too simple,接着就是考個人2道算法題一道沒想出來,一道沒寫對,哎,太尷尬了,我當時還說我由於一些緣由好久沒寫代碼了,他說這不是理由,這隻能說明你沒有徹底掌握或者說不夠熟練,徹底掌握的東西是不會忘的,就像1+1你永遠也忘不了,我只能說是是是,確實也是...  接着就是說今天你的表現我是不滿意的,可是他說很喜歡個人積極性,本身會去看這麼多東西,叫我再回去練練,甚至說只練算法就行,準備好了能夠再去找他,他說但願6月份能收到個人消息.走的時候我問他對於應屆生,他們最看重的是算法嗎?他說是,他們要的是基礎好的人,學習速度快的人,不要求一來就能上手作項目,

後來我從去哪兒的面試官那才知道他就是小米雲計算平臺的老大,真的是大佬,難怪這麼有氣場, 

這個部門是改進大數據框架的部門,也就是作中間件的部門,對技術的要求仍是比較高的,我真的挺想去的,個人程序員夢想就是未來去作寫框架的工做,

2面面試官說的那些話是我後面決定轉大數據方向的很重要緣由之一.

 

 

 

網易有道詞典  後端開發   一面  3月6日 1小時10分鐘

1,一個二叉樹 其中節點知足 左節點值<父節點值<右節點值   將二叉樹中的元素值按從大到小的順序存入數組中 手寫代碼

     能夠用棧或遞歸(其實都同樣),還能夠用Comporator接口,

2,spirng都用到了哪些設計模式   ioc用到了工廠模式  aop用到了代理模式 ... 共9種設計模式

3,io中 buffer 和reader writer 用到了什麼設計模式  裝飾器

4,struts中用戶登陸用到了什麼組件  攔截器

5,如何寫一個完整的登陸代碼  cookie session  數據庫

6,linux中查看各端口的狀況  netstat

   linux中如何更改環境變量 且不影響其餘用戶    在home目錄下修改.bashrc文件  如export classpath = ..

7,如何防止sql注入  預編譯 

8,線程池有哪些 ?線程池達到最大線程數且任務隊列滿後,有哪些應對方案?   http://blog.csdn.net/u011479540/article/details/51867886

9,如何保證數據庫數據被竊取後 黑客最多看到用戶名而看不到密碼   用md5算法加密密碼 數據庫中存md5字符串  用戶登陸時在本地將密碼轉成md5字符串 再與數據庫數據對比

10, String a = "abc"  String b = new String("abc");  String c = "abc"  String d = new String("abc")  四個引用間的關係  http://blog.csdn.net/qq_35448976/article/details/76229408

11,有道有時候要調用第三方翻譯接口,可是要先獲取到第三方的密鑰,沒有密鑰沒法調用翻譯接口,密鑰每10分鐘更新一次,問如何設計程序?

      volitile String authKey;  一個線程執行定時器獲取密鑰代碼,一個線程調用翻譯接口,volitile保證可見性,

總結: 這個面試官人很是好,沒答出來的問題當場教你,因此網易的面試體驗給我感受很好.走的時候面試官問我學java多久了,我說是研究生開始學的,我說我本科沒有好好學習,

         他說沒有關係,只要有興趣就好,他說他認識好幾個大牛本科的時候也掛過科,如今github上都有本身的項目了.最關鍵是要有興趣,而不是爲了錢而去作程序員的.

 

 

 

今日頭條 西瓜視頻後臺開發  一面  3月14日 45分鐘

1,map接口常見的實現類有哪些  treemap和hashmap的區別  treemap和hashmap查找的時間複雜度  一個logn 一個o1  

2,進程間通訊方式有哪些

3,osi7層模型

4,分頁的關鍵字 limit(x,x) 後面跟的2個參數的含義

5,mysql的索引用的什麼數據結構?  B+樹           爲何用b+樹?  減小磁盤io 範圍查找快   B+樹查找的時間複雜度

6,tcp爲何是安全的?   tcp3次握手具體過程? 包括握手過程當中狀態的變化 傳輸的seq ack

7,Object中的hashCode方法是怎麼hash的?  Object中還有哪些方法  wait notify notifyAll等   notifyAll方法調用後發生了什麼  把對象的等待池中的全部線程喚醒

8,進程間能夠共享內存嗎?線程間能夠共享內存嗎?

9,兩個字符串怎麼比較相等 用equals 爲何不能用==

10,  http內容分紅哪幾塊 請求和響應   請求分紅請求行 請求頭 實體內容   請求行裏有什麼?  http經常使用的狀態碼有哪些?

 11, 劍指offer或leetCode原題  複雜鏈表的複製  手寫   

總結: 今日頭條的面試是出了名的難,去以前就以爲可能很難經過面試,可是沒想到一面就跪了,由於考個人算法題沒作出來,可是面試官是個人學長,感受仍是很親切的,他也說見到我很親切,

         

 

 

去哪兒 機票部門後端實習    1面2面+hr面  3月15日  2小時

1,spring 註解都用過哪些    ssm框架怎麼整合

2,springMVC controller介紹  處理流程

3,講一個動態規劃的例子   黃金礦工(0-1揹包問題)   LCS  寫出方程組

4,動態規劃的思想  動態規劃爲何時間複雜度低  避免重複計算 

5,threadlocal爲何能實現變量拷貝  底層實現是什麼

6,volitile用在什麼場景   http://blog.csdn.net/vking_wang/article/details/9982709

7,經常使用的線程池有哪些 線程池中參數介紹

8,Future Callable 講一下     http://souly.cn/%E6%8A%80%E6%9C%AF%E5%8D%9A%E6%96%87/2015/06/06/java%E4%B8%ADfuture%E5%92%8Ccall%E7%9A%84%E5%88%86%E6%9E%90/

9,手寫   線程安全的單例模式

10,介紹一下storm

11,一個二維數組 行表明用戶 列表明物品  數組中的值0表明沒買過 1表明買過,  寫函數實現給定一個用戶 返回和他最相近的用戶   再寫個函數實現給 輸入的用戶推薦物品

總結: 我面試的部門是去哪兒的機票部門裏負責用戶退改簽高併發處理的,面試到去哪兒個人算法功力已經恢復了一點,因此考個人算法題算是寫出來了,直接就到了hr面,她讓我下星期就去上班,我當時在等其餘offer,就說能不能4月份再去,在這個問題上兩人扯了一會,最後說到最遲下下週去,她又問我還去哪邊面試過,我說小米 美團 網易這些都去過,可能hr面讓hr以爲我之後不會留下來,仍是說我哪裏讓她不爽了,幾天後得知最後被她刷了,當時一面面試官也不知道我被hr刷了,面試完還請我吃飯跟我說何時來提早跟他說下,可能我當時心裏已經決定要轉大數據了吧,若是他們給我發offer我後面也不會去了,這是真心話.

相關文章
相關標籤/搜索