雖然沒有去過大廠,但還是想強答一下,畢竟有不少認(rèn)識的朋友在BAT工作或工作過。
我的看法是:BAT的牛人多,普通人也多,雖然他們不是每個人都能達到令人仰望的技術(shù)水平,但畢竟平臺高,所以眼光會變得寬闊;代碼要求更為嚴(yán)格,所以普通的程序員也會被逼變得更優(yōu)秀;身邊的牛人多,普通的程序員也會受到影響,提升的更快。
正好今天看到一篇文章,是講去阿里的面試經(jīng)歷,也分享給大家,看看自己離著【進】阿里還有多大的差距。
Java多線程線程池的原理,為什么要創(chuàng)建線程池?
線程的生命周期,什么時候會出現(xiàn)僵死進程;
什么實現(xiàn)線程安全,如何實現(xiàn)線程安全;
創(chuàng)建線程池有哪幾個核心參數(shù)? 如何合理配置線程池的大小?
synchronized、volatile區(qū)別、synchronized鎖粒度、模擬死鎖場景、原子性與可見性;
JVM相關(guān)JVM內(nèi)存模型,GC機制和原理;GC分哪兩種;什么時候會觸發(fā)Full GC?
JVM里的有幾種classloader,為什么會有多種?
什么是雙親委派機制?介紹一些運作過程,雙親委派模型的好處;(這個我真的不會...)
什么情況下我們需要破壞雙親委派模型;
常見的JVM調(diào)優(yōu)方法有哪些?可以具體到調(diào)整哪個參數(shù),調(diào)成什么值?
JVM虛擬機內(nèi)存劃分、類加載器、垃圾收集算法、垃圾收集器、class文件結(jié)構(gòu)是如何解析的;
Java擴展紅黑樹的實現(xiàn)原理和應(yīng)用場景;
NIO是什么?適用于何種場景?
Java9比Java8改進了什么;
HashMap內(nèi)部的數(shù)據(jù)結(jié)構(gòu)是什么?底層是怎么實現(xiàn)的?
說說反射的用途及實現(xiàn),反射是不是很慢,我們在項目中是否要避免使用反射;
說說自定義注解的場景及實現(xiàn);
List和Map區(qū)別,Arraylist與LinkedList區(qū)別,ArrayList與Vector 區(qū)別;
SpringSpring AOP的實現(xiàn)原理和場景;(應(yīng)用場景很重要)
Spring bean的作用域和生命周期;
Spring Boot比Spring做了哪些改進? Spring 5比Spring4做了哪些改進;(慚愧呀,我們還在用Spring4,高版本的沒關(guān)心過)
Spring IOC是什么?優(yōu)點是什么?
SpringMVC、動態(tài)代理、反射、AOP原理、事務(wù)隔離級別;
中間件Dubbo完整的一次調(diào)用鏈路介紹;
Dubbo支持幾種負(fù)載均衡策略?
Dubbo Provider服務(wù)提供者要控制執(zhí)行并發(fā)請求上限,具體怎么做?
Dubbo啟動的時候支持幾種配置方式?
了解幾種消息中間件產(chǎn)品?各產(chǎn)品的優(yōu)缺點介紹;
消息中間件如何保證消息的一致性和如何進行消息的重試機制?
Spring Cloud熔斷機制介紹;
Spring Cloud對比下Dubbo,什么場景下該使用Spring Cloud?
數(shù)據(jù)庫篇鎖機制介紹:行鎖、表鎖、排他鎖、共享鎖;
樂觀鎖的業(yè)務(wù)場景及實現(xiàn)方式;
事務(wù)介紹,分布式事物的理解,常見的解決方案有哪些,什么事兩階段提交、三階段提交;
MySQL記錄binlog的方式主要包括三種模式?每種模式的優(yōu)缺點是什么?
MySQL鎖,悲觀鎖、樂觀鎖、排它鎖、共享鎖、表級鎖、行級鎖;
分布式事務(wù)的原理2階段提交,同步\異步\阻塞\非阻塞;
數(shù)據(jù)庫事務(wù)隔離級別,MySQL默認(rèn)的隔離級別、Spring如何實現(xiàn)事務(wù)、
JDBC如何實現(xiàn)事務(wù)、嵌套事務(wù)實現(xiàn)、分布式事務(wù)實現(xiàn);
SQL的整個解析、執(zhí)行過程原理、SQL行轉(zhuǎn)列;
RedisRedis為什么這么快?redis采用多線程會有哪些問題?
Redis支持哪幾種數(shù)據(jù)結(jié)構(gòu);
Redis跳躍表的問題;
Redis單進程單線程的Redis如何能夠高并發(fā)?
Redis如何使用Redis實現(xiàn)分布式鎖?
Redis分布式鎖操作的原子性,Redis內(nèi)部是如何實現(xiàn)的?
看完了有什么感想,自己和BAT的要求有差距么?
反正我覺得自己想要面試通過是有些困難,很多框架新版本的特性都沒有了解過,看來年前還得抽時間學(xué)些一下了。
希望我的回答,能夠幫助到你!我將持續(xù)分享Java開發(fā)、架構(gòu)設(shè)計、職業(yè)發(fā)展等方面的見解,希望能得到你的關(guān)注;另外,關(guān)注我后可私信【架構(gòu)】、【大數(shù)據(jù)】、【面試】、【優(yōu)化】等關(guān)鍵字,獲取相關(guān)資料。