?小姐姐做平安的職位有4年,接觸過(guò)N多人選,以下內容是嘔心瀝血,日積月累整理,希望對大家的面試有幫助。
面試流程:
先說(shuō)說(shuō)面試流程,一般至少有3輪,2輪技術(shù) HR面,各個(gè)子公司不一樣,部份技術(shù)會(huì )3輪,技術(shù)一輪一般問(wèn)基礎和項目實(shí)現,技術(shù)基礎過(guò)了,會(huì )側重聊項目和業(yè)務(wù),技術(shù)復試主要就問(wèn)一些架構、技術(shù)和業(yè)務(wù)的理解、個(gè)人發(fā)展比較抽象的東西了。
HR面主要就是跟你聊聊天,看看你的個(gè)人穩定性、價(jià)值觀(guān)、主動(dòng)性之類(lèi)的, 一般HR是不會(huì )掛人的,注意謙遜,禮貌之類(lèi)的,表現出踏實(shí),積極向上,不要飄就行了,表達溝通能力要好。
要注意的點(diǎn):
1、簡(jiǎn)歷要清晰,1-3頁(yè)為最佳,項目經(jīng)歷寫(xiě)3-5比較適合,項目需要有代表性,并表述簡(jiǎn)潔,體現出個(gè)人貢獻和技術(shù)要點(diǎn)。
2、平安有背調, 不要合并或省略一些比較短的工作經(jīng)歷,一定可以調出來(lái)。
3、對于面試官的問(wèn)題,想清楚再回答,如果覺(jué)得需要的時(shí)間可能比較長(cháng),可以跟面試官說(shuō)我思考下、我整理下思路之類(lèi)的遇到不會(huì )的問(wèn)題直接說(shuō)不會(huì ), 不要不懂裝懂。
4、被問(wèn)到為什么想跳槽的時(shí)候, 因該從自身發(fā)展等角度出發(fā),而不是吐槽前公司或上司。 碰到面試官一上來(lái)就一副很不屑的語(yǔ)氣,話(huà)沒(méi)說(shuō)兩句開(kāi)始diss你的項目,心太也要放平,表現出自信,從容。
平安普惠:
spring事務(wù)的底層原理,
32位操作系統和64位操作系統底層差異,
集合的原理,
數據庫中的游標要注意哪些東西,
索引的原理,
微服務(wù),多線(xiàn)程,高并發(fā),都有問(wèn)的,
緩存和分布式方面,
高并發(fā)緩存的設計應用,
spring,過(guò)濾器攔截器,
索引什么時(shí)候比較慢 in和exist底層的區別 優(yōu)化手段,
熔斷器 eureka 容災,
技術(shù)方面問(wèn)redis用來(lái)干嘛,怎么保證不重復扣款,
spring的啟動(dòng)過(guò)程,為啥map是線(xiàn)程不安全的,
需要對spring原理有清晰的認識,
springboot與springmvc的區別,
問(wèn)了spring源碼,aop原理,事務(wù)注解的注意事項,
空白期多長(cháng)會(huì )有風(fēng)險,
redis synchronize和lock的區別 ,
Kafka的分區,然后問(wèn)了下我現在做的項目的結構我簡(jiǎn)單講解了下 ,
數據庫性能相關(guān)的多一些,主要是表結構方面的,再就是微服務(wù)方面的問(wèn)題,還有中件間,
主要問(wèn)的rabbit 消息持久化,消息丟失,ioc 和aop相關(guān),然后最近看哪些非技術(shù)類(lèi)書(shū)籍,AI大數據這塊的了解等。
平安科技:
泛型的理解;
Java容器一個(gè)個(gè)說(shuō)下、Arraylist(底層是一個(gè)對象數組,所以不能存基本類(lèi)型,而只能存其包裝類(lèi)對象) 、Linkedlist底層實(shí)現、線(xiàn)程安全的集合concurrenthashmap等;
單例模式 代理模式 適配器模式等常用設計模式代碼實(shí)現;
各種鎖;
分布式系統怎么保證某個(gè)節點(diǎn)掛了,系統仍然正常運行?
jvm內存、jvm垃圾回收機制、jvm對String類(lèi)型對象的特殊處理(加載時(shí)、垃圾回收時(shí));
說(shuō)一說(shuō)往線(xiàn)程池里提交一個(gè)任務(wù)會(huì )發(fā)生什么?
線(xiàn)程池的幾個(gè)參數如何設置?
線(xiàn)程池的非核心線(xiàn)程什么時(shí)候會(huì )被釋放?
平安養老險:
你們現在的項目,是微服務(wù)嗎?你怎么理解微服務(wù)的?(我回答不是,我們的模塊粒度還是比較大應該是一個(gè)SOA)
各模塊之間的調用有沒(méi)有做認證(回答了下白名單,了解到有一個(gè)shiro框架,但是沒(méi)有使用到)
用到的技術(shù)棧(ssm vue oracle等)
前端訪(fǎng)問(wèn)后端有沒(méi)有用https,和http有什么區別,用到了哪些加密算法,對稱(chēng)非對稱(chēng)的加密算法有那些?(使用了證書(shū)的加密解密)
https用到了什么加密算法,加密過(guò)程?(aes、base64剩下不記得了)
解釋一下Spring使用的IoC是什么?spirng的生命周期和作用域。(回答到了ioc本質(zhì)上是一個(gè)hashmap,把對象bean放到里面管理,負責bean的實(shí)例化與依賴(lài)注入,作用域有sington和prototype以及他們之間的區別)
java常用的鎖機制有哪些?有什么區別?(有synchronized和trylock,trylock應該是要手動(dòng)解鎖,具體的記不太清了)
java創(chuàng )建線(xiàn)程有哪些方式?(實(shí)現Runnable和實(shí)現Thread類(lèi),區別不記得了)
java的面向對象的概念多態(tài)、函數重載(解釋了重載是編譯時(shí)多態(tài),繼承(重寫(xiě))是運行時(shí)多態(tài))
jvm的內存模型(java虛擬機棧、常量池、堆、程序技術(shù)器這些)
數據庫
Decode函數有了解嗎?(類(lèi)似一個(gè)if的判斷,之前用過(guò),現在記不太清了,然后項目中用到比較多的存儲過(guò)程,說(shuō)了下我們的項目在流程結束之后會(huì )調用存儲過(guò)程來(lái)轉存表)
存儲過(guò)程怎么實(shí)現捕捉異常,怎么處理異常、怎么獲取異常信息? (回答用到了savepoint,并且把異常信息寫(xiě)到表里,他追問(wèn)怎么知道是異常,我說(shuō)和java是一樣的一個(gè)exception,具體是什么參數的不記得了)
java的事物怎么回滾?(回答了spring里如果給service配置了事務(wù),只要拋出異常就會(huì )回滾當前service的事務(wù),接著(zhù)我補充了下項目中用到了自定義異常,以及通過(guò)@ExceptionHandler來(lái)統一捕捉的異常并處理)
平安重金所:
Java主要是基礎,spring,springMVC,springboot,sql優(yōu)化,還要項目能說(shuō)清楚,覆蓋面要廣,
一面問(wèn)些項目中的設計方案,
二面聊分布式架構設計,過(guò)程中會(huì )問(wèn)用到的中間件原理,
堆外內存如何被回收?
spring中bean的生命周期是怎樣的?
有做過(guò)哪些GC調優(yōu)?
java NIO與BIO的區別?
Dubbo如何做負載均衡?
RocketMq如何保證高可用的?
平安租賃:
Mongledb的底層,數據庫的底層,高并發(fā)的部分,
springcloud也問(wèn)了,
雙親委派機制的作用?
Tomcat的classloader結構
如何自己實(shí)現一個(gè)classloader打破雙親委派
軟引用什么時(shí)候會(huì )被釋放
弱引用什么時(shí)候會(huì )被釋放
適用ThreadLocal時(shí)要注意什么?比如說(shuō)內存泄漏?
redis如何持久化數據?
CopyOnWriteArrayList是如何保證線(xiàn)程安全的?
平安壹賬通:
數據庫方面問(wèn)的比較多,可能跟這個(gè)項目組有關(guān)系吧,
數據庫方面:數據庫索引,數據庫隔離怎么實(shí)現的(原理)。數據庫優(yōu)化相關(guān),數據庫如何應對高并發(fā)等。
數據庫事務(wù),鎖相關(guān),
java工具類(lèi):java集合用到了哪些?hashMap是線(xiàn)程安全的嘛。concurrentHashMap的原理等。
nio相關(guān),nio和bio的區別,nio的原理,
redis相關(guān):redis怎么設置超時(shí),
redis是單線(xiàn)程的嗎等,
高并發(fā)相關(guān):
如何解決高并發(fā)問(wèn)題,集群節點(diǎn)掛了怎么發(fā)現等,
技術(shù)上,hashMap get ,set方法怎么實(shí)現的。 springAop 原理,
平安產(chǎn)險:
不太難 基本的框架 還有一些性能優(yōu)化 也有講一些新的技術(shù),
問(wèn)了個(gè)aop和過(guò)濾器的區別 然后講了講springcloud組件,
問(wèn)了個(gè)靜態(tài)變量在內存的位置,
還有現有系統改造成微服務(wù)架構思路,
Sql優(yōu)化,
沒(méi)有GitHub 怎么怎么完善技術(shù)棧,
現有系統改造成微服務(wù)架構思路 ,
jvm內存區域劃分是怎樣的?
mysql的行鎖、表鎖、間隙鎖、意向鎖分別是做什么的?
如何用redis實(shí)現分布式鎖?
平安金服:
Redis存儲有幾種方式,
Redis都有哪些存儲類(lèi)型,
JDK動(dòng)態(tài)代理,
Spring bean如何解決循環(huán)依賴(lài),
Spring Boot有哪些優(yōu)點(diǎn),Spring boot 如何引入properties文件,引用的配置文件參數除了@Value還有哪些方式可以獲取,
Activiti用戶(hù)組是如何實(shí)現流程流轉,
數據庫有哪些索引類(lèi)型,原理,
concurrent包用過(guò)哪些類(lèi),concurrentHashMap怎么解決并發(fā)問(wèn)題,
寫(xiě)個(gè)sql,統計單個(gè)表的平均成績(jì),如果需要過(guò)濾90分以上的需要怎么改,
畫(huà)一下系統的交互圖,應該畫(huà)一下之前微服務(wù)的交互圖,
Spring如何管理實(shí)務(wù)的,
Spring如何管理對象的,BeanFactory和FactoryBean有什么區別,
出現記賬錯誤的時(shí)候是如何處理的。
總結:
總的來(lái)說(shuō),平安的面試不太難,和大部分互聯(lián)網(wǎng)公司考察點(diǎn)差不多,一般情況下,不會(huì )問(wèn)算法,以基礎為主,涉及JVM,線(xiàn)程、并發(fā)、引用、存儲、數據庫等知識,以上希望對大家有所幫助。