阿里面經:分享七面阿里巴巴面試題116題—阿里天貓、螞蟻金服

貌似這一點適應的行業最廣,但是我可以很肯定的說:當你從事Java一年後,重新找工作時,才會真實的感受到這句話。

工作第一年,往往是什麼都充滿新鮮感,什麼都學習,衝勁十足的一年;WEB行業知識更新特別快,今天一個框架的新版本,明天又是另一個新框架,有時往往根據項目的需要來不斷學習新東西;所有,很多時候感覺,自己用過的東西真多呀!但是真正深入研究的東西卻不多。面試,是跳槽後第一個需要面對的問題;而且不同公司面試的著重點不同;但是卻有一個共同點:Java基礎是必考的。

工作第一年,可能問你String對象創建的理解,常用的框架是什麼等等;

工作第三年,就問你Java內存分配機制是什麼,類是如何加載的等等;

工作第五年,就問你常用的設計模式是什麼,你在工作中充當什麼角色,怎麼獨立完成一個模塊等等;

可以看出——這是一個典型的程序員的成長過程:

使用Java—->深入理解Java積累經驗——>獨立設計分析能力——>獨當一面的多面手!

因此,必須學習:

數據庫最常用的是Oracle了(當然銀行項目等需要DB2等),熟練掌握使用存儲過程,觸發器等;

UML項目中經常要寫文檔,項目經理的基本功,程序員走向設計的基本功;

linux系統需要掌握常用的linux命令——部署在windows操作系統上的項目很少吧。

其他就不多說了,大家可以補充。

學習上,興趣是最大的老師;項目驅動也是不錯的選擇,總之,不學習不行。

文章很長,可以先收藏

從阿里面試回來給大家分享一下阿里所問到的面試題

【阿里天貓、螞蟻、釘釘面試題目】

junit用法,before,beforeClass,after, afterClass的執行順序分佈式鎖nginx的請求轉發算法,如何配置根據權重轉發用hashmap實現redis有什麼問題(死鎖,死循環,可用ConcurrentHashmap)線程的狀態線程的阻塞的方式sleep和wait的區別hashmap的底層實現一萬個人搶100個紅包,如何實現(不用隊列),如何保證2個人不能搶到同一個紅包,可用分佈式鎖java內存模型,垃圾回收機制,不可達算法兩個Integer的引用對象傳給一個swap方法在方法內部交換引用,返回後,兩個引用的值是否會發現變化aop的底層實現,動態代理是如何動態,假如有100個對象,如何動態的為這100個對象代理是否用過maven install。 maven test。git(make install是安裝本地jar包)tomcat的各種配置,如何配置docBasespring的bean配置的幾種方式web.xml的配置spring的監聽器。zookeeper的實現機制,有緩存,如何存儲註冊服務的IO會阻塞嗎?readLine是不是阻塞的用過spring的線程池還是java的線程池?字符串的格式化方法 (20,21這兩個問題問的太低級了)時間的格式化方法定時器用什麼做的線程如何退出結束java有哪些鎖?樂觀鎖 悲觀鎖 synchronized 可重入鎖 讀寫鎖,用過reentrantlock嗎?reentrantlock與synmchronized的區別ThreadLocal的使用場景java的內存模型,垃圾回收機制為什麼線程執行要調用start而不是直接run(直接run,跟普通方法沒什麼區別,先調start,run才會作為一個線程方法運行)qmq消息的實現機制(qmq是去哪兒網自己封裝的消息隊列)遍歷hashmap的三種方式jvm的一些命令memcache和redis的區別mysql的行級鎖加在哪個位置ConcurrentHashmap的鎖是如何加的?是不是分段越多越好myisam和innodb的區別(innodb是行級鎖,myisam是表級鎖)mysql其他的性能優化方式linux系統日誌在哪裡看如何查看網絡進程統計一個整數的二進制表示中bit為1的個數jvm內存模型,java內存模型

【阿里巴巴面試題目】

如何把java內存的數據全部dump出來如何手動觸發全量回收垃圾,如何立即觸發垃圾回收hashmap如果只有一個寫其他全讀會出什麼問題git rebasemongodb和hbase的區別如何解決併發問題volatile的用途java線程池(好像之前我的理解有問題)mysql的binlog代理模式mysql是如何實現事務的讀寫分離何時強制要讀主庫,讀哪個從庫是通過什麼方式決定的,從庫的同步mysql用的什麼方式mysql的存儲引擎mysql的默認隔離級別,其他隔離級別將一個鏈表反轉(用三個指針,但是每次只發轉一個)spring Aop的實現原理,具體說說何時會內存洩漏,內存洩漏會拋哪些異常是否用過Autowire註解spring的注入bean的方式sql語句各種條件的執行順序,如select, where, order by, group byselect xx from xx where xx and xx order by xx limit xx; 如何優化這個(看explain)四則元算寫代碼統計100G的ip文件中出現ip次數最多的100個ipzookeeper的事物,結點,服務提供方掛了如何告知消費方5臺服務器如何選出leader(選舉算法)適配器和代理模式的區別讀寫鎖static加鎖事務隔離級別門面模式,類圖(外觀模式)mybatis如何映射表結構二叉樹遍歷主從複製mysql引擎區別靜態內部類加載到了哪個區?方法區class文件編譯後加載到了哪web的http請求如何整體響應時間變長導致處理的請求數變少,該如何處理?用隊列,當處理不了那麼多http請求時將請求放到隊列

中慢慢處理,web如何實現隊列

線程安全的單例模式快速排序性能考慮volatile關鍵字用法求表的size,或做數據統計可用什麼存儲引擎讀多寫少可用什麼引擎假如要統計多個表應該用什麼引擎concurrenhashmap求size是如何加鎖的,如果剛求完一段後這段發生了變化該如何處理1000個蘋果放10個籃子,怎麼放,能讓我拿到所有可能的個數可重入的讀寫鎖,可重入是如何實現的?是否用過NIOjava的concurrent包用過沒sting s=new string("abc")分別在堆棧上新建了哪些對象java虛擬機的區域分配,各區分別存什麼分佈式事務(JTA)threadlocal使用時注意的問題(ThreadLocal和Synchonized都用於解決多線程併發訪問。但是ThreadLocal與synchronized有本質的區別。synchronized是利用鎖的機制,使變量或代碼塊在某一時該只能被一個線程訪問。而ThreadLocal為每一個線程都提供了變量的副本,使得每個線程在某一時間訪問到的並不是同一個對象,這樣就隔離了多個線程對數據的數據共享。而Synchronized卻正好相反,它用於在多個線程間通信時能夠獲得數據共享)java有哪些容器(集合,tomcat也是一種容器)二分查找算法myisam的優點,和innodb的區別redis能存哪些類型http協議格式,get和post的區別可重入鎖中對應的wait和notifyredis能把內存空間交換進磁盤中嗎(這個應該是可以的,但是那個面試官非跟我說不可以)java線程池中基於緩存和基於定長的兩種線程池,當請求太多時分別是如何處理的?定長的事用的隊列,如果隊列也滿了呢?交換進磁盤?基於緩存的線程池解決方法呢?synchronized加在方法上用的什麼鎖可重入鎖中的lock和trylock的區別innodb對一行數據的讀會枷鎖嗎?不枷鎖,讀實際讀的是副本redis做緩存是分佈式存的?不同的服務器上存的數據是否重複?guava cache呢?是否重複?不同的機器存的數據不同用awk統計一個ip文件中top10對錶做統計時可直接看schema info信息,即查看錶的系統信息mysql目前用的版本公司經驗豐富的人給了什麼幫助?(一般boss面會問這些)自己相對於一樣的應屆生有什麼優勢自己的好的總結習慣給自己今後的工作帶了什麼幫助,舉例為證原子類,線程安全的對象,異常的處理方式4億個int數,如何找出重複的數(用hash方法,建一個2的32次方個bit的hash數組,每取一個int數,可hash下2的32次方找到它在hash數組中的位置,然後將bit置1表示已存在)4億個url,找出其中重複的(考慮內存不夠,通過hash算法,將url分配到1000個文件中,不同的文件間肯定就不會重複了,再分別找出重複的)

有1萬個數組,每個數組有1000個整數,每個數組都是降序的,從中找出最大的N個數,N<1000

LinkedHashmap的底層實現類序列化時類的版本號的用途,如果沒有指定一個版本號,系統是怎麼處理的?如果加了字段會怎麼樣?Override和Overload的區別,分別用在什麼場景java的反射是如何實現的

【阿里巴巴面試題目含答案】

有需要獲取面試體系文檔的朋友可以轉發文章並關注作者,然後私信回覆“面試”即可獲得以下所有面試PDF文檔資料的領取方式!


目錄

一、性能優化面試專欄

1.1、tomcat性能優化整理

1.2、JVM性能優化整理

1.3、Mysql性能優化整理

二、微服務架構面試專欄

2.1、SpringCloud面試整理

2.2、SpringBoot面試整理

2.3、Dubbo面試整理

三、併發編程高級面試專欄

四、開源框架面試題專欄

4.1、Spring面試整理

4.2、SpringMVC面試整理

4.3、MyBatis面試整理

五、分佈式面試專欄

5.1、分佈式限流面試整理

5.2、分佈式通訊面試整理

5.3、分佈式數據庫面試整理

有需要獲取面試體系文檔的朋友可以轉發文章並關注作者,然後私信回覆“面試”即可獲得以上所有面試PDF文檔資料的領取方式!