欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

2019年成功入職阿里:阿里的三套Java研發(fā)崗面試題總結(jié)

  發(fā)布時(shí)間:2019-04-25 16:04:33   作者:進(jìn)擊的程序員x   我要評論
之前過了幾個(gè)簡單的簡歷面,所以總結(jié)了幾套面試的試題供大家分享。小編覺得挺不錯(cuò)的,也給大家做個(gè)參考。一起跟隨小編過來看看吧

第一套

一面:

HashMap 實(shí)現(xiàn)原理,ConcurrentHashMap 實(shí)現(xiàn)原理
紅黑樹,為什么允許局部不平衡
TCP,UDP 區(qū)別,為什么可靠和不可靠
一次 HTTP 請求的全過程,包括域名解析、定位主機(jī)等
TCP 三次握手
MySQL 事務(wù)是什么?四大特性,四大隔離級別
ConcurrentHashMap 和 Hashtable 區(qū)別
spring IOC 和 AOP,以及各有什么優(yōu)點(diǎn)
有哪幾種常用的線程池
什么情況下使用 Runnable 和 Thread 創(chuàng)建線程,Runnable 和 Callable 的區(qū)別
線程方法中的異常如何處理,副線程可以捕獲到嗎
synchronized 和鎖的區(qū)別,什么情況下使用 synchronized 和 ReentrantLock
JVM 的對象分配在哪個(gè)區(qū),Class 對象分配在哪個(gè)區(qū)

二面:

常用的設(shè)計(jì)模式介紹:單例模式、裝飾者模式等
Java 會出現(xiàn)內(nèi)存溢出嗎?什么情況下會出現(xiàn)?
雙親委派模型,為什么這樣做?
對象什么情況下進(jìn)入老年代?
快速排序說一下過程
AOP 實(shí)現(xiàn)原理:動(dòng)態(tài)代理
BIO、NIO(如何實(shí)現(xiàn)的)、AIO
消息中間件有哪些?他們之間的優(yōu)劣勢?
Redis,持久化框架
棧和隊(duì)列
垃圾回收算法
MySQL 的索引
Tomcat 類加載器
OOM 內(nèi)存泄漏,什么情況下會出現(xiàn),如何排查

三面:

介紹你實(shí)踐的性能優(yōu)化案例,以及你的優(yōu)化思路
微服務(wù)和 SOA 的區(qū)別,優(yōu)劣勢
SQL 慢查詢的優(yōu)化方案,索引和表的優(yōu)化方案。
MySQL 與 MongoDB 的區(qū)別,海量數(shù)據(jù)的存儲
緩存框架,例如 Redis、Memcached 之間的區(qū)別,優(yōu)劣勢比較
請描述一致 hash 算法
分布式 session 的共享方案有哪些,有什么優(yōu)劣勢
高并發(fā)情況,系統(tǒng)的優(yōu)化方案有哪些,以及優(yōu)先級排序。

第二套

一面:

ArrayList 和 linkedlist 區(qū)別。ArrayList 是否會越界。
ArrayList 和 hashset 有何區(qū)別。hashset 存的數(shù)是有序的么。
volatile 和 synchronized 區(qū)別
多態(tài)的原理
數(shù)據(jù)庫引擎 Innodb 和 myisam 區(qū)別
Redis 的數(shù)據(jù)結(jié)構(gòu)
Redis 是基于內(nèi)存的么
Redis 的 list zset 的底層實(shí)現(xiàn)
http 和 https 的區(qū)別,tcp 握手過程
jvm 垃圾回收算法手寫冒泡
手寫單例包括多線程下
Java 線程間怎么實(shí)現(xiàn)同步,notify()與 notifyAll()的區(qū)別
數(shù)據(jù)庫的悲觀鎖和樂觀鎖應(yīng)用場景。
排序算法的復(fù)雜度,快速排序非遞歸實(shí)現(xiàn)。
海量數(shù)據(jù)過濾,黑名單過濾一個(gè) url。

二面:

list set map 底層使用什么實(shí)現(xiàn)的有哪些典型實(shí)現(xiàn)
hashmap 擴(kuò)容是怎么擴(kuò)容的,為什么是 2 的冪
concurrenthashmap 為什么線程安全,采用了什么措施應(yīng)對高并發(fā)
線程池的參數(shù)有什么意義
Springmvc 請求流程
Spring IOC,autowired 如何實(shí)現(xiàn)
Spring boot
SpringClound 的基本架構(gòu)設(shè)計(jì)
Dubbo 和 SpringClound 的區(qū)別在哪里,優(yōu)劣勢
說說一致性 Hash 算法

三面:

分布式架構(gòu)設(shè)計(jì)哪方面比較熟悉
講講你對 CDN 的了解,與分布式緩存和本地緩存的區(qū)別
多線程和高并發(fā)有什么區(qū)別
高并發(fā)下有哪些常用的技術(shù)解決方案,舉三個(gè)高并發(fā)場景設(shè)計(jì)例子
說一個(gè)你對 JVM 優(yōu)化的實(shí)際案例,包括實(shí)際步驟和方法
Docker 有使用過和了解嗎?Docker 和 JVM 的區(qū)別是什么?
Docker 的基本架構(gòu)和使用場景?
負(fù)載均衡有接觸過哪些開源框架,優(yōu)劣勢是什么?
數(shù)據(jù)庫分庫分表需要怎樣來實(shí)現(xiàn)?
數(shù)據(jù)庫端的常用優(yōu)化策略?
如果讓你來設(shè)計(jì)秒殺系統(tǒng),你的設(shè)計(jì)思路是什么,為什么要這樣設(shè)計(jì)?

面試總結(jié):

java 的基礎(chǔ)知識點(diǎn),主要圍繞在集合類和多線程等:ArrayList、LinkedList、HashSet、HashpMap
的數(shù)據(jù)結(jié)果,以及如何擴(kuò)容、以及 ConcurrentHashMap 相關(guān)的多線程安全等。
JVM 的內(nèi)存分配、幾個(gè)常見的垃圾回收算法以及原理、還有對應(yīng)的 JVM 優(yōu)化參數(shù)需要牢記。
網(wǎng)絡(luò):TCP 的三次握手等網(wǎng)絡(luò)都必問,重點(diǎn)掌握網(wǎng)絡(luò)協(xié)議。
Redis:作為分布式緩存的主力,基本也是 BAT 每次必考,重點(diǎn)是 Redis 的數(shù)據(jù)結(jié)構(gòu)、內(nèi)存、
算法、持久化,以及與別的緩存 memcached 的優(yōu)劣勢。
多線程:狀態(tài)流轉(zhuǎn)、多線程的實(shí)現(xiàn),以及與高并發(fā)的區(qū)別等。
Spring 框架問得是最多的,BAT 非常喜歡問,重點(diǎn)掌握。
最后就是分布式架構(gòu)設(shè)計(jì)
常用的分布式架構(gòu)設(shè)計(jì)方案:單點(diǎn)登錄、分布式緩存、存儲、消息的選型,還有就是數(shù)據(jù)
庫端的優(yōu)化方案(需要提前了解)。
最好能提前了解深入一個(gè)類似秒殺這樣的項(xiàng)目,如果面試官問到類似的項(xiàng)目,你能把設(shè)計(jì)
思路講出來,這對你的面試結(jié)果是很大的加分項(xiàng)。

第三套

一面

自我介紹
談一個(gè)你覺得你學(xué)到最多的項(xiàng)目,使用了什么技術(shù),挑戰(zhàn)在哪里
Spring 的 bean 的作用域?(比如:singleton,prototype 等)
Spring 的 IOC 實(shí)現(xiàn)原理?沒有無參構(gòu)造函數(shù)能實(shí)例化嗎?有參構(gòu)造函數(shù)注入?(xml 配置)
通過反射,談到了方法區(qū),然后,類加載機(jī)制?
synchronized 的實(shí)現(xiàn)原理?Volatile 能保證原子性嗎?為什么?
hashmap 和 concurrenthashmap 的 size 方法怎么實(shí)現(xiàn)的
JVM 的調(diào)優(yōu)參數(shù)?(-Xmn,-Xms 等具體參數(shù)設(shè)置)
線程池優(yōu)點(diǎn),參數(shù),如果我想實(shí)現(xiàn) newSingleThreadPoll,應(yīng)該怎么配置,構(gòu)造方法傳什么
參數(shù)
mysql 死鎖,怎么解決,如果不要求執(zhí)行順序,死鎖怎么解決
ioc 和 aop 原理
線程的五態(tài)?轉(zhuǎn)化過程?
TCP 三次握手,為什么三次握手?
JVM 內(nèi)存分區(qū)?(主存,工作內(nèi)存,堆,棧。。。。)
講一下 GC?
為什么要用老年代和新生代?
新生代進(jìn)入老生代的情況?
新生代的分區(qū)?

二面

變著法的問了一大堆線程池的知識 (主要考對應(yīng)的參數(shù))
java 內(nèi)存模型
lock 和 synchronized 的區(qū)別
reentrantlock 的實(shí)現(xiàn)
hashmap 和 concurrenthashmap
B+樹和 B-樹的區(qū)別
復(fù)合索引
聚集索引和非聚集索引的區(qū)別?
數(shù)據(jù)庫索引 主鍵和唯一索引有什么區(qū)別
索引失效條件,什么時(shí)候該建立索引
innDB 和 MyISAM 的區(qū)別?
線程安全(阻塞同步,非阻塞同步,無同步)

三面

主要高并發(fā)和分布式架構(gòu)設(shè)計(jì)
服務(wù)器模型以及之間的區(qū)別
線程池的設(shè)計(jì)
線程池如何做負(fù)載均衡
如何實(shí)現(xiàn)線程調(diào)度算法
復(fù)合索引是如何實(shí)現(xiàn)的?
如何設(shè)計(jì)單點(diǎn)登錄,單點(diǎn)登錄的原理
redis 緩存和 memcached 緩存的區(qū)別,以及各自的優(yōu)劣勢
大型高并發(fā)網(wǎng)站如何做性能優(yōu)化:Web 性能、數(shù)據(jù)庫性能、應(yīng)用服務(wù)器性能等。
實(shí)踐中如何優(yōu)化 MySQL:SQL 語句及索引的優(yōu)化、數(shù)據(jù)庫表結(jié)構(gòu)的優(yōu)化、系統(tǒng)配置的優(yōu)化、
硬件的優(yōu)化
分庫分表和讀寫分離如何設(shè)計(jì)
微服務(wù)架構(gòu):dubbo 和 springcloud 的區(qū)別,以及各自對應(yīng)的使用場景。

總結(jié):

希望這三套面試題能夠給在求職路上的你一些幫助,同學(xué)我也幫大家整理了部分的答案和更多的面試題給大家,希望大家在面試的時(shí)候也能夠用到。

相關(guān)文章

最新評論