大廠Java高級工程師面試題

最近學習起來感覺有些亂,沒有方向感,懷著進大廠的夢想,決定先去試試水。
我很有自知之明地專門挑選難一點的大廠找虐,這樣才有意義嘛!
一周面試下來,對大廠Java高級的要求做出總結
由于時間安排,我把字節(jié)跳動、滴滴還有一起教育推掉了,畢竟是試水,我已經被虐得體無完膚,沒必要再自殘了。
設計的企業(yè)有:阿里、快手、轉轉、用友(較簡單,不做展示)。還有一個企業(yè)不記得名稱了(純業(yè)務的面試,沒印象)
快手
一面
Switch數(shù)據(jù)類型支持哪些
Java有哪些鎖?區(qū)別在哪?底層如何實現(xiàn)的?為什么非公平鎖效率高?
Java內存模型
Java內存結構
線程池使用場景及其核心參數(shù)說明、拒絕策略(拒絕策略不理想)
Threadlocal原理和使用場景(不理想)
實現(xiàn)多線程通訊
Mybatis初始化和執(zhí)行原理
Spring mvc初始化和執(zhí)行原理
Springboot如何自定義starter
項目中使用了springcloud哪些組件及其原理
Redis數(shù)據(jù)類型
Redis淘汰策略
Redis集群方式
Redis中string底層結構(不理想)
MQ工作方式
MySQL數(shù)據(jù)庫引擎比較(不理想)
事務隔離級別說明
項目中使用哪些設計模式?(策略,模板,觀察者)
批量導出的業(yè)務1000個,如何實現(xiàn)(多線程、壓縮傳輸)
什么場景會出現(xiàn)棧溢出
一般怎么優(yōu)化慢查詢
什么情況下會使得索引失效
Redis集群時分布式鎖的問題(主節(jié)點鎖信息未同步至從節(jié)點,主宕機)(不理想)
二面
Redis分布式鎖中加鎖與解鎖的詳細細節(jié)詢問,過期如何續(xù)命(不理想)
Spring的ApplicationEvent的使用場景
SpringMVC攔截器和過濾器區(qū)別(不理想)
一個項目中可以有多個dispatcherServelt嗎?為什么?(不理想)
SpringAOP涉及到什么設計模式?底層原理
SpringBoot配置文件加載優(yōu)先級(不理想)
SpringBoot啟動原理
多層接口傳參相同的問題怎么解決(估計是問ThreadLocal)(不理想)
Redis集群有哪些方式
MySQL事務隔離級別
MySQL聚簇索引(不理想)
給定業(yè)務場景寫sql(不理想)
重寫和重載的測試題,參數(shù)列表相同,只是泛型不同,會不會報錯
寫一個單例(我寫了最簡單的餓漢式,但是告訴了人家,其他的實現(xiàn)方式,及如何防止反射反序列化破壞)
三面
很不幸,鄙人倒在了這一環(huán)節(jié)
ArrayList底層原理
ArrayList擴容、刪除、添加原理
線程池核心參數(shù)說明
手寫一個定時的線程池(不理想)
Mysql聚簇索引和非聚簇索引說明(不理想)
Java自帶的序列化方式(不理想)
項目使用了SpringCloud哪些組件
Eureka屬于可用還是一致?為什么
Eureka實現(xiàn)服務治理的原理
Ribbon原理
ZK集群原理
Spring注解生效的原理(AOP底層原理)
給定一個業(yè)務場景,手寫SQL(不理想)
項目中如何使用策略模式
阿里
盡管阿里一面沒過,但這是我目前面試最舒服的一次,完全按照簡歷上的知識去由淺至深面試
HashMap底層數(shù)據(jù)結構和原理
ConcurrentHashMap線程安全的原理
Sync和Lock的區(qū)別,底層原理
CAS中ABA如何解決
類加載機制中雙親委派(不理想)
ThreadLocal底層原理
Java線程池關鍵參數(shù)及其拒絕策略說明
Jvm內存結構詳細闡述
MySQL索引底層結構(不理想)
聚簇索引和非聚簇索引
如何優(yōu)化索引查詢
組合索引的使用場景(不理想)
MySQL隔離級別
臟讀、幻讀的定義
AOP底層原理
JDK動態(tài)代理和CGlib動態(tài)代理對比,各自底層的實現(xiàn)原理
FactoryBean和BeanFactory的區(qū)別
SpringMVC的攔截器和Filter的異同,自己配置過嗎?(不理想)
Nginx的負載均衡方式有哪些?正向代理和反向代理的區(qū)別
RPC框架中服務消費者如何拿到服務提供者的請求信息,各自職責(估計是在問心跳包)(不理想)
注冊中心的治理
Hystrix熔斷器的工作原理,熔斷半開是指什么(不理想)
Ribbon使用過嗎?
Kafka消費者,生產者,分區(qū),topic的關系是什么,消費者與分區(qū)的數(shù)量的對應關系是什么
分布式事務如何解決的?事務消息和普通消息的區(qū)別
BASE理論和CAP理論是指什么
ES中倒排索引和普通索引的區(qū)別(不會)
Mybatis中二級緩存和一級緩存的區(qū)別(我把Mybatis整個流程闡述了一次)
Netty中粘包和拆包是指什么?
TCP中為什么握手是三次而揮手是四次?(不理想)
轉轉
用過什么設計模式?描述一下場景
SpringBean生命周期
事務的原理
Spring聲明式事務為什么能每次拿到相同的connection(估計是在問ThreadLocal)(不理想)
Springboot的starter組件的結構是什么樣的
HashMap1.7和1.8的區(qū)別在哪
Sync和ReentrantLock的區(qū)別
公平鎖和非公平鎖的區(qū)別
給了一個實際出現(xiàn)線程安全的場景,判斷哪些操作會出現(xiàn)阻塞(不理想,沒理解問題)
JVM內存結構的介紹
垃圾回收算法有哪些?重點說說復制算法
常用的垃圾回事器有哪些?CMS的原理闡述一下
Netty使用過嗎?講下原理
粘包和拆包的解決方案有哪些?
使用過哪些Redis的數(shù)據(jù)結構
MQ如何解決分布式事務
消息冪等性如何解決
消息順序消費如何解決,哪些MQ有這個特性
ThreadLocal的原理(不理想)
Redis實現(xiàn)分布式鎖中,過期時間如何設置的(估計是在問NX和PX如何保持一致性)(不理想)
線程池有哪些參數(shù)是自己用過的,具體的使用場景(不理想)
匿名內部類使用外部變量為什么必須是final修飾的(不理想)
一條TCP連接上可以發(fā)多少個HTTP請求(不知道)
看一段代碼(SpringAOP使得this失效)
手寫消費者和生產者(不理想)
附上個人簡歷中配置的個人技能
熟悉常用設計模式:策略、責任鏈、單例、裝飾者、代理、觀察者、適配器、外觀/門面
研究過Mybatis3源碼,熟悉sqlsession執(zhí)行流程、熟悉一級緩存、二級緩存原理
研究過Spring5注解方式啟動Spring的源碼,熟悉Springbean生命周期、SpringAOP底層原理、Spring事務底層原理、Spring循環(huán)依賴解決的原理
研究過SpringMVC5的源碼,可手動仿真SpringMVC框架
研究過Springboot2的啟動源碼,熟悉Springboot核心設計理念,可自定義starter組件,熟悉@SpringBootApplication底層原理
熟悉Java8新特性
熟悉常用集合(ArrayList、LinkedList、HashMap1.7、HashMap1.8、ConcurrentHashMap1.7、ConcurrentHashMap1.8)原理,并研究過源碼
可手寫二叉樹、了解紅黑樹旋轉變色規(guī)則
熟悉Nginx負載均衡、動靜分離、反向代理、靜態(tài)文件壓縮原理
了解網(wǎng)站跨域問題及其相應解決方案
了解Nginx+Lvs+Keep-alive實現(xiàn)高可用的原理
熟悉多線程(通訊、鎖,CAS機制)、Java內存模型,可手寫Java線程池
熟悉Java內存結構,了解常用垃圾回收算法、垃圾回收器以及內存溢出和內存泄漏等問題
熟悉Zookeeper使用,了解Zookeeper工作原理,分布式鎖原理、分布式集群原理、選舉策略、數(shù)據(jù)最終一致性原理。
了解MySQL中的事務隔離級別和常見的鎖(共享、排它、意向、記錄、間隙、臨鍵、行鎖、表鎖等)
研究過Tomcat8底層源碼,可在微服務架構下優(yōu)化Tomcat8
熟悉Netty框架,了解BIO、NIO、TCP/UDP原理,了解OSI七層網(wǎng)絡模型,了解請求粘包、拆包原因和解決方案,了解序列化機制。
熟悉SpringCloud框架,了解服務治理、服務注冊發(fā)現(xiàn)、服務降級、熔斷、隔離等Hystrix服務保護機制的原理,熟悉Ribbon負載均衡、Config配置中心、Zuul網(wǎng)關、Swagger接口調試
熟悉Redis淘汰策略、事務、持久化機制、分布式鎖、單線程高效、自動過期、與MySQL保持一致性等原理
熟悉Redis穿透、擊穿、雪崩、集群、主從復制、哨兵選舉、cluster分片、動態(tài)擴容、縮容、布隆過濾器等原理
熟悉常用消息隊列RabbitMQ/Kafka/RocketMQ,了解其解決分布式事務,消息冪等,順序消費,事務消息以及常用工作方式等原理
到此這篇關于大廠Java高級工程師面試題的文章就介紹到這了,更多相關Java面試題內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持腳本之家!
相關文章
- 本文是小編給大家收藏整理的關于java基礎面試題小結,在面試中經常會被問題,今天小編特此整理把內容分享到腳本之家平臺,需要的朋友參考下吧2020-05-19
- 這篇文章主要介紹了2020年最新版Java面試題大全,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2020-04-16
- 這篇文章主要介紹了字節(jié)跳動Java后端視頻面一面涼經,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習2020-04-13
- 這篇文章主要介紹了100+經典Java面試題及答案解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學2020-04-09
- 這篇文章主要介紹了抖音、騰訊、阿里、美團春招Java開發(fā)崗位硬核面試,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-08-18