Java程序員5面阿里終獲offer,感慨:原來阿里面試這麼嚴

 

Java程序員5面阿里終獲offer,感慨:原來阿里面試這麼嚴

 

坊間傳言的阿里P6招聘需求

Java程序員5面阿里終獲offer,感慨:原來阿里面試這麼嚴

 

感覺面試還是主要圍繞簡歷來問的,所以不熟悉的東西最好不要隨便寫上去。項目和基礎都很重要,項目中最好有難點,能夠體現自己解決問題的過程和思路。

Java程序員5面阿里終獲offer,感慨:原來阿里面試這麼嚴

 

電話面:

  • 自我介紹
  • 事務的特性 ACID , 數據庫的死鎖發生的情景
  • 死鎖的四個必要特性, 非共享, 持有並等待, 非搶佔, 循環等待
  • 死鎖避免 死鎖預防
  • 線程的狀態 , 新建,就緒,running, wait, blocked, terminated
  • sleep 和 wait 的區別, 類的不同,是否會釋放持有的鎖,monitor
  • JDK 可重入鎖, 讀寫鎖 , 底層 AQS,抽象隊列同步器的機制
  • 悲觀鎖和樂觀鎖, 概念上,JDK 中的類, CAS的缺點, 空轉,ABA問題。使用pause指令, AtomicStampedReference
  • 講一講Servlet, web.xml 配置路徑到servlet的映射, init, service, destroy
  • 可以看一看Tomcat容器的過程 ,Connector和 Context容器兩大部分。完成從socket到 request和Response對象的構造
  • SpringMVC的 dispatcher-servlet的請求解析過程
  • redis介紹, 系統中的角色,作爲緩存, 分佈式session服務器
  • redis的 性能,可用性,主從複製+哨兵, redis緩存訪問有網絡上的消耗。
  • redis事務, 分佈式事務, 2PC, 本地消息表等, 3PC

阿里一面:

  • 講一講異常, throwable, exception, error
  • try- catch
  • 手寫單例模式——很生疏,GG
  • volatile ,作用,底層, lock 前綴的指令, 多CPU的嗅探機制,多處理器下的緩存一致性協議
  • synchronized
  • JVM 內存劃分, 堆內存分代
  • redis, 源碼,
  • spring bean的實例化過程。——不熟悉的地方不要寫上去。
  • AOP
  • 使用redis來實現單點登錄,那麼當單個redis節點內存不夠的時候,怎麼辦?集羣化,redis-Cluster
  • 比較偏底層

阿里二面:

  • JVM內存劃分, 堆內存爲什麼要進行分代回收, 生命週期不同
  • redis,主從,哨兵,集羣,分佈式鎖。
  • redis的對象類型, 每種對象類型對應的底層的數據結構,參考redis設計與實現。
  • string, list, hash, set, sortedset.
  • 每種對象都至少有2中數據結構, SDS, linkedlist, ziplist, intset, ziplist, skiplist
  • ISN, TCP協議爲什麼要隨機初始化一個序列號——安全性, 防止和上一次會話滯留的報文衝突

阿里三面:

  • 說明一下缺頁中斷, 虛擬內存
  • JVM中的內存區域劃分,堆的分代,爲什麼分代, 垃圾回收算法,垃圾回收器
  • Linux進程間的通信方式, 管道,有名管道,socket,共享內存,消息隊列
  • 如何實現進程間特定場景下的高效通信, 問了存儲相關的問題。
  • MySQL索引類型, 底層的數據結構
  • 手寫一個雙鏈表的插入和刪除,查找方法

HR面:

  • 自我介紹
  • 項目中遇到的難點
  • 對部門的理解
  • 個人的職業發展,城市的選擇,職業方向,有沒有其他公司的offer

阿里高級Java必考題與答案

Java程序員5面阿里終獲offer,感慨:原來阿里面試這麼嚴

 

答案獲取方式

點擊【面試】即可獲得詳細答案鏈接!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章