1. 程式人生 > 實用技巧 >阿里P7 筆試題,這種好東西還不趕緊收藏起來

阿里P7 筆試題,這種好東西還不趕緊收藏起來

前言
恭喜你發現了一條通往大廠的"捷徑",別問我整理了多久,現在的黑眼圈都和大熊貓一模一樣了,頭皮也挺涼快的,防脫髮洗髮水可以推薦一下

junit 用法,before,beforeClass,after, afterClass 的執行順序
分散式鎖
nginx 的請求轉發演算法,如何配置根據權重轉發
用 hashmap 實現 redis 有什麼問題(死鎖,死迴圈,可用 ConcurrentH
ashmap)
執行緒的狀態
執行緒的阻塞的方式
sleep 和 wait 的區別
hashmap 的底層實現
一萬個人搶 100 個紅包,如何實現(不用佇列),如何保證 2 個人不能搶

到同一個紅包,可用分散式鎖
java 記憶體模型,垃圾回收機制,不可達演算法
兩個 Integer 的引用物件傳給一個 swap 方法在方法內部交換引用,返回
後,兩個引用的值是否會發現變化
aop 的底層實現,動態代理是如何動態,假如有 100 個物件,如何動態
的為這 100 個物件代理
是否用過 maven install。 maven test。git(make install 是安裝本
地 jar 包)
tomcat 的各種配置,如何配置 docBase
spring 的 bean 配置的幾種方式
web.xml 的配置
spring 的監聽器。
zookeeper 的實現機制,有快取,如何儲存註冊服務的
IO 會阻塞嗎?readLine 是不是阻塞的
用過 spring 的執行緒池還是 java 的執行緒池?
字串的格式化方法 (20,21 這兩個問題問的太低階了)
時間的格式化方法
定時器用什麼做的
執行緒如何退出結束
java 有哪些鎖?樂觀鎖 悲觀鎖 synchronized 可重入鎖 讀寫鎖,用過 r
eentrantlock 嗎?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 rebase
mongodb 和 hbase 的區別
如何解決併發問題
volatile 的用途
java 執行緒池(好像之前我的理解有問題)
mysql 的 binlog
代理模式
mysql 是如何實現事務的
讀寫分離何時強制要讀主庫,讀哪個從庫是通過什麼方式決定的,從庫的
同步 mysql 用的什麼方式
mysql 的儲存引擎
mysql 的預設隔離級別,其他隔離級別
將一個連結串列反轉(用三個指標,但是每次只發轉一個)
spring Aop 的實現原理,具體說說
何時會記憶體洩漏,記憶體洩漏會拋哪些異常
是否用過 Autowire 註解
spring 的注入 bean 的方式
sql 語句各種條件的執行順序,如 select, where, order by, grou
p by
select xx from xx where xx and xx order by xx limit xx; 如
何優化這個(看 explain)
四則元算寫程式碼
統計 100G 的 ip 檔案中出現 ip 次數最多的 100 個 ip
zookeeper 的事物,結點,服務提供方掛了如何告知消費方
5 臺伺服器如何選出 leader(選舉演算法)
介面卡和代理模式的區別
讀寫鎖
static 加鎖
事務隔離級別
門面模式,類圖(外觀模式)
mybatis 如何對映表結構
二叉樹遍歷
主從複製
mysql 引擎區別
靜態內部類載入到了哪個區?方法區
class 檔案編譯後加載到了哪
web 的 http 請求如何整體響應時間變長導致處理的請求數變少,該如何
處理?用佇列,當處理不了那麼多 http 請求時將請求放到佇列
中慢慢處理,web 如何實現佇列
執行緒安全的單例模式
快速排序效能考慮
volatile 關鍵字用法
求表的 size,或做資料統計可用什麼儲存引擎
讀多寫少可用什麼引擎
假如要統計多個表應該用什麼引擎
concurrenhashmap 求 size 是如何加鎖的,如果剛求完一段後這段發生
了變化該如何處理
1000 個蘋果放 10 個籃子,怎麼放,能讓我拿到所有可能的個數
可重入的讀寫鎖,可重入是如何實現的?
是否用過 NIO
java 的 concurrent 包用過沒
sting s=new string(“abc”)分別在堆疊上新建了哪些物件
java 虛擬機器的區域分配,各區分別存什麼
分散式事務(JTA)
threadlocal 使用時注意的問題(ThreadLocal 和 Synchonized 都用於
解決多執行緒併發訪問。但是 ThreadLocal 與 synchronized 有本質的區別。s
ynchronized 是利用鎖的機制,使變數或程式碼塊在某一時該只能被一個執行緒訪
問。而 ThreadLocal 為每一個執行緒都提供了變數的副本,使得每個執行緒在某
一時間訪問到的並不是同一個物件,這樣就隔離了多個執行緒對資料的資料共
享。而 Synchronized 卻正好相反,它用於在多個執行緒間通訊時能夠獲得資料
共享)
java 有哪些容器(集合,tomcat 也是一種容器)
二分查詢演算法
myisam 的優點,和 innodb 的區別
redis 能存哪些型別
http 協議格式,get 和 post 的區別
可重入鎖中對應的 wait 和 notify
redis 能把記憶體空間交換進磁碟中嗎(這個應該是可以的,但是那個面試官
非跟我說不可以)
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 次方找到它在 h
ash 陣列中的位置,然後將 bit 置 1 表示已存在)
4 億個 url,找出其中重複的(考慮記憶體不夠,通過 hash 演算法,將 url
分配到 1000 個檔案中,不同的檔案間肯定就不會重複了,再分別找出重複
的)
有 1 萬個陣列,每個陣列有 1000 個整數,每個陣列都是降序的,從中找出
最大的 N 個數,N<1000
LinkedHashmap 的底層實現
類序列化時類的版本號的用途,如果沒有指定一個版本號,系統是怎麼
處理的?如果加了欄位會怎麼樣?
Override 和 Overload 的區別,分別用在什麼場景
java 的反射是如何實現的

結尾
以上就是整理的最新面試題了,整理不易, 如果對您有幫助記得點贊+收藏哦,感謝您的支援!