阿里面試總結

1.Java基礎javascript

     ArrayList,HashMap等集合框架類,重要基礎類String等的處理。HashMap的底層存儲結構等。java

    (也能夠順帶考察下對接口,繼承,重載重寫的基本理解;以及異常處理的注意事項)。node

2. 數據結構與算法mysql

   常見的查找算法及時間複雜度。jquery

   常見的排序算法及時間複雜度。web

   比較重要的數據結構,如鏈表,隊列,棧的基本理解及大體實現。面試

3. 多線程問題redis

   1)線程安全問題。 HashMap 是否線程安全,爲什麼不安全。 ConcurrentHashMap,線程安全,爲什麼安全。底層實現是怎麼樣的。算法

   2)J.U.C下的常見類的使用。 ThreadPool的深刻考察; BlockingQueue的使用。(take,poll的區別,put,offer的區別);原子類的實現。spring

   4)各類常見鎖使用

若是上面這些掌握很好,還能夠看看更深一點的 False Sharing,Cache Line,可見性與原子性等;

 

4. JVM

    Java內存分代模型,GC算法,JVM常見的啓動參數; CMS算法的過程。

    這塊回答較好,也能夠只是看畢玄的Java分佈式開發或網上文章的學習, 能夠結合JVM啓動參數常見配置,jstat等命令,看下動手能力,意願;以及實際線上問題排查。

 

5.Linux使用與問題分析排查

    1). grep,awk,sed; 是否本身寫過shell腳本;

    2). 常見的cpu load太高,us太高,通常是什麼問題。引伸出是否用過top,jstat,jstack等。

        常見的內存問題通常有哪些。 引伸出是否用過free,top, jmap等。

 

6. 框架使用

    spring aop的底層實驗原理。 aop與cglib,與asm的關係。

    spriong ioc的生命週期,(init-method,intilizingbean接口方法afterPropertiesSet的前後順序)等。

   Hibernate對一二級緩存的使用,Lazy-Load的理解;

7. 數據庫相關:

   1. mysql存儲引擎中索引的實現機制;

   2.數據庫事務的幾種粒度;

   3.行鎖,表鎖;樂觀鎖,悲觀鎖

 

8.網絡協議:

   HTTP協議;

   HTTPS協議,SSL協議及完整交互過程;

 

9. redis

   redis,memcache底層客戶端使用一致性Hash,看是否瞭解;

   redis的事件驅動多路複用底層實現;引伸到NIO編程, 看對Netty,或mina是否瞭解。

  若是候選者同時用過memcache,redis,看下是否瞭解二者在使用場景上的區別。以考察使用深度,以及是否有好奇精神。

 

10. 設計模式與重構

    常見設計模式,如singlen,factory,abstract factory,strategy,chain,adaptor,decorator,composite,template,absever等。

    重構:重構書籍

 

11. 學習與進取心

    最近上過上哪些技術站點; 最近在看哪些書。

 

12. 抗壓能力及抗壓意願

    瞭解加班狀況,瞭解是否願意在一段時間996等;

13 穩定性考察

      瞭解家庭婚姻情況, 瞭解購房及居住地,籍貫狀況,瞭解目前薪資,評估穩定性;

=======

1.進程和線程的區別

2.什麼叫線程安全?舉例說明

3.OSI七層模型,包括TCP,IP的一些基本知識

4.數據庫的鎖

5.DFS,BFS算法

6.還有一些諸如collection framework的Java基礎

七、http中,get post的區別

其餘的面試,感受問的頗有表明性:

 第一面(只記得這麼多了)

  一、筆試題第四題實現又口述了下

  二、有個每秒鐘5k個請求,查詢手機號所屬地的筆試題(記得不完整,沒列出),如何設計算法?請求再多,好比5w,如何設計整個系統?

  三、比較熟悉什麼技術?我說jvm和oracle,就讓我畫jvm的體系結構,畫了以後說各個部分的職責,並扯到運行期優化。

  第二面(沒有技術細節,都是泛泛的,可是我回答的比較保守,只以爲能口若懸河的說上半小時纔敢說看過或瞭解)

  一、是否願意去杭州

  二、熟悉各類技術框架麼?源碼讀過麼?

  三、數據庫瞭解什麼?mysql瞭解麼

  四、前臺技術,看我用的ExtJS,就問是否瞭解JQuery

  五、進如今的公司,以爲對技術是否有提高?

  第三面,此面沒有技術問題

  第四面HR(感受這面問題回答的有點扯,畢竟是這麼幾年來首次面HR,以前面過二、3個公司,要麼很早就掛了,要麼感受流程太長,本身不肯意麪下去)

  一、願意去杭州發展麼?我說要考慮,hr就問主要考慮什麼問題

  二、從技術角度來講,你以爲你跟你同窗比怎麼樣

  三、你的父母怎麼看待你的

      一、jvm性能調優都作了什麼

  二、高併發狀況下,咱們系統是如何支撐大量的請求的

  三、集羣如何同步會話狀態

  四、負載均衡的原理

  五、數據庫事務屬性

  六、二叉樹的遍歷算法

  七、hashtable和hashmap的區別

  八、併發、同步的接口或方法

  九、string、stringbuilder、stringbuffer區別

  十、https處理的一個過程,對稱加密和非對稱加密

  十一、線程的幾種狀態

  十二、瞭解手機開發麼

  1三、我的優點

  1四、與同事溝通的時候,若是遇到衝突瞭如何解決

  1五、工做中以爲哪方面欠缺?

  1六、有問題要問麼?

  1七、指望薪水

  1八、爲何要離開如今的公司

  * struts1.2和webwork的區別

  * hibernate和ibatis的區別

  * spring工做機制,IOC容器

  * servlet的一些相關問題

  * webservice相關

  * java基礎:jvm,HashSet等等

  * 考察學習新技術的能力

 

其餘:

   1.  店鋪相關的業務特色決定,有先後端知識是加分項。 若是候選者熟悉javascript。

能夠考察:

    1) 先後端優化的基本常識,好比js放在後面不阻塞等;原生js的理解,正則,時間冒泡等。

    2)firebug,fiddle等調試工具; 

    3)若是是基本使用,看下ext框架,jquery等熟悉程度。jquery插件機制,sizzle選擇器。

     若是以上都不錯,能夠再深刻考察  

   1)做用域鏈, 閉包的理解。

   2)看下是否瞭解最新的技術。 augularJS, nodejs,cmd規範,amd規範等。

相關文章
相關標籤/搜索