2019阿里天猫团队Java高级工程师面试题之三轮面试
轉載自??2019阿里天貓團隊Java高級工程師面試題之三輪面試
作者:編程磚家
https://www.cnblogs.com/xiaoyangjia/p/10697324.html
一.第一面
1.五分鐘自我介紹,說說自己的擅長及拿手的技術
自我介紹是為了考察面試者的語言表達和總結概括能力,通常面試官希望聽到如下四個方面:
A 基本信息:簡歷上也有基本信息,口述一遍當作開場,說一下畢業學校、所學專業、獲獎經歷,時間控制在半分鐘。
B 項目經歷:按照簡歷上的內容,按時間由遠及近說說開發過的項目,運用什么技術棧,做出什么成績,有什么收獲,時間控制在兩分半鐘
C 技術專長:說說自己的特長,貢獻過哪些開源項目,業余時間看什么書,是否寫博客,要契合當前職位所需要的技術棧,時間控制在1分鐘。
D 職業規劃:說一下的職業規劃和中長期打算,表示自己穩定可靠不輕易跳槽,時間控制在半分鐘
2.說說Treemap和HashMap的區別?
https://www.cnblogs.com/williamjie/p/9099130.html
3.說說HashMap和ConcurrentHashMap的區別?
http://www.importnew.com/28263.html
3.說說一致性Hash算法?
https://www.cnblogs.com/lpfuture/p/5796398.html
4.你知道的GC算法和回收策略有哪些?GC的機制是什么?
https://blog.csdn.net/rabbit_in_android/article/details/50386954
5.垃圾回收器的基本原理?是否可以立即回收內存?怎么樣主動的通知JVM進行垃圾回收?
http://www.cnblogs.com/zhangxiaopeng/p/5001171.html
7.說說Java的雙親委派模型
https://www.cnblogs.com/heapStark/p/9221753.html
8.線程池創建的幾個核心構造參數是什么?
https://blog.csdn.net/pfnie/article/details/52757002
9.樂觀鎖和悲觀鎖?可重入鎖和Synchronized?
https://www.jianshu.com/p/66b854d5bd49
10.CountDownLatch和Cylicbarrior的區別以及分別是在哪樣場景下使用的?
http://www.importnew.com/21889.html
11.Http和Https的區別以及Https加密的方式?
https://www.cnblogs.com/wqhwe/p/5407468.html
?
二.第二面
1.Tomcat的基本架構是什么?
https://blog.csdn.net/xlgen157387/article/details/79006434
2.InnoDB四種事務隔離級別是什么?他們之間的區別是什么?
http://www.cnblogs.com/huanongying/p/7021555.html
3.說說MySQL事務特性和慢查詢分析?
⑴ 原子性(Atomicity)
原子性是指事務包含的所有操作要么全部成功,要么全部失敗回滾,因此事務的操作如果成功就必須要完全應用到數據庫,如果操作失敗則不能對數據庫有任何影響。
⑵ 一致性(Consistency)
一致性是指事務必須使數據庫從一個一致性狀態變換到另一個一致性狀態,也就是說一個事務執行之前和執行之后都必須處于一致性狀態。
拿轉賬來說,假設用戶A和用戶B兩者的錢加起來一共是5000,那么不管A和B之間如何轉賬,轉幾次賬,事務結束后兩個用戶的錢相加起來應該還得是5000,這就是事務的一致性。
⑶ 隔離性(Isolation)
隔離性是當多個用戶并發訪問數據庫時,比如操作同一張表時,數據庫為每一個用戶開啟的事務,不能被其他事務的操作所干擾,多個并發事務之間要相互隔離。
即要達到這么一種效果:對于任意兩個并發的事務T1和T2,在事務T1看來,T2要么在T1開始之前就已經結束,要么在T1結束之后才開始,這樣每個事務都感覺不到有其他事務在并發地執行。
關于事務的隔離性數據庫提供了多種隔離級別,稍后會介紹到。
⑷ 持久性(Durability)
持久性是指一個事務一旦被提交了,那么對數據庫中的數據的改變就是永久性的,即便是在數據庫系統遇到故障的情況下也不會丟失提交事務的操作。
例如我們在使用JDBC操作數據庫時,在提交事務方法后,提示用戶事務操作完成,當我們程序執行完成直到看到提示后,就可以認定事務以及正確提交,即使這時候數據庫出現了問題,也必須要將我們的事務完全執行完成,否則就會造成我們看到提示事務處理完畢,但是數據庫因為故障而沒有執行事務的重大錯誤。
4.有哪些MySQL常用的優化方法?
https://www.jisec.com/application-development/798.html
5.Http請求過程,DNS解析的過程?
https://www.cnblogs.com/geaozhang/p/7010353.html
6.三次握手和四次握手的過程?
https://www.jianshu.com/p/bd31d3b23725
7.B+樹索引和Hash索引之間的區別?
https://blog.csdn.net/u013967628/article/details/84305511
https://www.cnblogs.com/lixiaolun/p/5058304.html
8.Spring IOC如何管理Bean之間的依賴關系,怎么樣避免循環依賴?
https://www.jianshu.com/p/f0c005c7354b
9.SpringBean創建過程中的設計模式?
https://blog.csdn.net/caoxiaohong1005/article/details/80039656
?
三.第三面
?
1.說說MySQL的鎖并發?加鎖的機制是什么?
https://www.cnblogs.com/yelbosh/p/5813865.html
2.高并發場景下MySQL如何防止死鎖,保證數據的一致性?
https://blog.csdn.net/qq_34107571/article/details/78001309
3.說說分庫與分表設計與困境?
https://blog.csdn.net/jiangpingjiangping/article/details/78069480
4.集群的負載均衡的算法與實現?
https://www.cnblogs.com/data2value/p/6107450.html
5.Redis中Setnx命令使如何實現分布式鎖的,使用Redis怎么進行異步隊列?會有什么缺點?
https://www.cnblogs.com/diegodu/p/5807154.html
https://blog.csdn.net/wzbwzh/article/details/82876299
6.Redis的數據結構, 線程模型,數據淘汰機制?
https://blog.csdn.net/zhaoliang831214/article/details/82051449
https://www.cnblogs.com/barrywxx/p/8570821.html
https://www.cnblogs.com/changbosha/p/5849982.html
7.Redis的數據一致性問題?
https://blog.51cto.com/538858/2328219
8.緩存擊穿的概念和解決方案?
https://www.cnblogs.com/williamjie/p/9117015.html
9.MQ底層原理的實現?
https://blog.csdn.net/h2604396739/article/details/81136527
10.不使用Java并發包,怎么實現阻塞隊列?
https://blog.csdn.net/h525483481/article/details/80347485
https://blog.csdn.net/h525483481/article/details/80347485
11.如何實現高并發環境下的削峰、限流?
https://blog.csdn.net/weixin_34360651/article/details/87075481
https://www.jianshu.com/p/6746140bbb76
12.講講項目中用到的中間件(比如Dubbo/MQ/Zookeeper/Redis/Kafka)?
說一下為什么使用,有什么優缺點,遇到什么問題,怎么解決這個問題
13.說說微服務的超時機制和熔斷?
https://www.cnblogs.com/yunpt/p/10060342.html
14.高并發架構的設計思路?
https://www.jianshu.com/p/1c3bf85ab2cd
總結
以上是生活随笔為你收集整理的2019阿里天猫团队Java高级工程师面试题之三轮面试的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 面试阿里挂了却拿到网易、点我达offer
- 下一篇: ROG DAY2023 华硕Z790新主