Java/web基礎java
Static,final關鍵字,抽象類,代碼塊,Object類的方法,==和equelsmysql
集合的繼承關係及其特性,以及hashMap存取(1.7,1.8),常見IO流對象及使用linux
反射的知識點nginx
經常使用設計模式:git
多線程方面:web
瞭解併發面試
建立線程redis
線程生命週期,算法
線程中的方法:spring
(sleep.wait,notify,join,yeild,interrupt,interrupted,isInterrupted)
synchronized用法(靜態方法,非靜態方法),特色和缺點等
volatile關鍵字用法,JMM內存模型,happens-before原則,使用場景等
線程池,繼承關係,任務類型和區別,核心參數和工做流程策略,幾種常見線程池
JUC包下countdownlatch,seamphore,cyclicbarrier的使用
Threadlocal,conCurrenthashmap使用
經常使用阻塞隊列及使用,區別等
cokkie和session的使用,區別等http/https,servlet,get,post請求
NIO等
代碼考察:二分查找,冒泡排序,遞歸,死鎖,單列,設計模式,集合操做
框架:
SpringMVC流程,註解,攔截器的使用,@ControllerAdvice+@ExceptionHandler全局異常
Spring IOC/AOP的理解,
Bean的生命週期,做用域
自定義AOP類,JDK/cglib代理
Spring事物,隔離級別,傳播機制
Spring中多線程@EnableAsync, @Async
Spring定時任務
自定義註解
SpringBoot:使用,理解,一些註解做用等。。。
Mybatis
Mybatis的工做流程,mybatis的攔截器機制
#{}和${}的用法和區別
mybatis一級緩存二級緩存以及兩者區別,二級緩存的策略
數據庫:
優化方案;
索引的基本知識
索引使用場景和索引失效場景,
索引的數據結構:
讀寫分離,其餘。。。
JVM:
虛擬機的內存區域分類,用處,異常等信息,常見參數(xms,xmx…)
內存分配的方式以及如何選擇
內存泄漏和內存溢出
對象的訪問定位的兩種方式(句柄和直接指針兩種方式)
對象建立的步驟
判斷一個對象是否存活?(或者GC對象的斷定方法)
java垃圾回收機制
垃圾收集算法和經常使用垃圾回收器,GC回收策略(minor gc,Major GC,full gc)
類加載機制(類加載器,自定義,什麼場景使用)+雙親委派
分佈式:
CAP,BASE理論
分佈式事物的實現方式(2段,3段,基於最終一致性和TCC補償)
分佈式鎖的實現
分佈式鎖的使用場景
分佈式惟一ID生成方案
Redis:
數據結構,經常使用API,持久化,分片集羣
Dubbo+zookeeper/Cloud:RPC和REST
其餘:mq,quartz,linux,docker等,其餘工做中的問題
數禾:
6.rabbitMq,你是用來幹啥的,講講,路由模式怎麼講消息發送到指定的queue
7.Nginx反向代理和負載均衡如何配置
8dubbo超時機制
10.mysql查詢的時候,若是某一列有一個字段是null,那麼相對在查詢結果集的前面,仍是後面?爲何?
12.線程池,有哪幾種,幾個重要參數說一下
諾亞財富:
1.jwt往死裏問。
2.hsahMap的原理、hashMap jdk1.8比jdk1.7有哪些變化,紅黑樹的算法時間複雜度是多少,鏈表的時間複雜度是多少?
3.單點登陸問題,若是一個用戶開啓兩個瀏覽器,怎麼再第二個瀏覽器登陸的時候,把第一個登出
4.rabbitMq 生產者怎麼保證消費者必定消費了消息。
5.給我一個數字,讓我在數組裏以最快的速度找出一組兩個數字的和等於這個數字,而且輸出兩個數字的下標
6.redis我都用過哪些數據結構,通常都用來放什麼,鏈接用的是jedis。仍是redisTemplate
7.分佈式事務,通常都有個全局事務id,若是讓你本身設計全局事務id,你怎麼設計,不借用任何中間件
8jpa,我是用來連mysql的嗎,我回答是,他就沒問了
9. 分佈式任務調度框架
10.git版本管理工具,咱們是怎麼管理接口的版本的
1.分佈式鎖不用redisson框架實現,直接用redis怎麼實現
2.hashMap數組+鏈表的鏈表是怎麼排序的?懂底層實現嗎
3.concurrentHashMap 什麼狀況下加鎖
4.redis數據結構zset用過嗎?用來幹啥的
5.悲觀鎖、樂觀鎖、樂觀鎖是怎麼實現的,CAS、AQS、ABA是個啥玩意,我不懂
6.mysql索引算法,B+樹講一下,預編譯有什麼好處,除了防止sql注入還有啥好處;#和$的區別;最左原則講一下
7.怎麼作到百億級別的數據查詢,只須要幾毫秒就能返回想要的結果
8.若是有個很大的文件,在併發量幾百甚至上千的狀況下,都去請求這個文件,你怎麼作好快速響應?
9.線程池有哪幾種,經常使用的的那幾個參數講一下,都是什麼意義,你經常使用哪一個,我說newFIxed那個,他說使用這個線程池須要注意什麼,我沒想起來?
10.線程有哪些狀態,說一下,run和strat有什麼區別
11.若是一個能支撐100併發的如今忽然讓支持300甚至500併發,又不給你增長機器,你怎麼作?
12.kafka有什麼很差的地方嗎?dubbo+zookeeper有什麼很差的地方嗎?使用zookeeper作過度布式鎖嗎?
13.分佈式事務用過哪些?跨庫事務用過嗎?
分享下今天的面試題:說下HashMap,nginx使用那些功能,線程池,ZK有那些功能,選舉咋弄的,voliate關鍵字用法,項目結構圖,數據庫優化,B數b+樹的區別,threadLoal的實現和問題,手寫涉及模式,AOP的代理及實現,分佈式事物的實現,多路複用,JVM的垃圾收集算法優缺點,五子棋怎麼收子,怎麼保證線程安全和又發揮多線程的快速做用,Spring Cloud hystrix中信號量和線程池的區別,ribbon的實現原理,CPU滿了怎麼檢查,docker File命令,CAS怎麼實現共享數據的分配
redis和數據庫的一致性問題
zookeeper底層協議
手寫rpc框架
zookeeper選舉機制算法
zookpper生產者掛了,消費者怎麼辦
reids持久化機制
redis主從同步機制
redis若是物理內存快用完了怎麼辦
分庫分表
怎麼作兩個庫的表的關聯查詢
fullGc發生在哪裏
mongo分配的副本
mysql索引會不會用在varchar列上
restful風格怎麼理解
Spring中的CacheManager