<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          二面螞蟻金服(交叉面),已拿offer,Java崗定級(jí)阿里P6

          共 3837字,需瀏覽 8分鐘

           ·

          2021-07-08 15:27

          記一次螞蟻金服Java程序員面試經(jīng)歷(均為交叉面)


          一面

          • 自我介紹

          • 項(xiàng)目中的監(jiān)控:那個(gè)監(jiān)控指標(biāo)常見(jiàn)的有哪些?

          • 微服務(wù)涉及到的技術(shù)以及需要注意的問(wèn)題有哪些?

          • 注冊(cè)中心你了解了哪些?

          • consul 的可靠性你了解嗎?

          • consul 的機(jī)制你有沒(méi)有具體深入過(guò)?有沒(méi)有和其他的注冊(cè)中心對(duì)比過(guò)?

          • 項(xiàng)目用 Spring 比較多,有沒(méi)有了解 Spring 的原理?AOP 和 IOC 的原理

          • Spring Boot除了自動(dòng)配置,相比傳統(tǒng)的 Spring 有什么其他的區(qū)別?

          • Spring Cloud 有了解多少?

          • Spring Bean 的生命周期

          • HashMap 和 hashTable 區(qū)別?

          • Object 的 hashcode 方法重寫(xiě)了,equals 方法要不要改?

          • Hashmap 線(xiàn)程不安全的出現(xiàn)場(chǎng)景

          • 線(xiàn)上服務(wù) CPU 很高該怎么做?有哪些措施可以找到問(wèn)題

          • JDK 中有哪幾個(gè)線(xiàn)程池?順帶把線(xiàn)程池講了個(gè)遍

          • 應(yīng)盡量避免在 where 子句中使用!=或<>操作符,否則將引擎放棄使用索引而進(jìn)行全表掃描

          • SQL 索引的順序,字段的順序

          • 查看 SQL 是不是使用了索引?(有什么工具)

          • TCP 和 UDP 的區(qū)別?TCP 數(shù)據(jù)傳輸過(guò)程中怎么做到可靠的?

          • 說(shuō)下你知道的排序算法吧

          • 查找一個(gè)數(shù)組的中位數(shù)?

          二面

          你有什么問(wèn)題想問(wèn)我的嗎?(常規(guī)問(wèn)詢(xún))

          • 自我介紹、工作經(jīng)歷、技術(shù)棧

          • 項(xiàng)目中你學(xué)到了什么技術(shù)?

          • 微服務(wù)劃分的粒度?

          • 微服務(wù)的高可用怎么保證的?

          • 負(fù)載均衡與反向代理,隔離,限流,降級(jí),超時(shí)與重試,回滾,壓力測(cè)試與應(yīng)急預(yù)案

          • 常用的負(fù)載均衡,該怎么用,你能說(shuō)下嗎?


          (技術(shù)問(wèn))

          • http重定向

          • DNS負(fù)載均衡

          • 反向代理負(fù)載均衡

          • IP負(fù)載均衡(LVS-NAT)

          • 直接路由(LVS-DR)

          • IP隧道(LVS-TUN)

          • 網(wǎng)關(guān)能夠?yàn)楹蠖朔?wù)帶來(lái)哪些好處?

          • Spring Bean 的生命周期

          • xml 中配置的 init、destroy 方法怎么可以做到調(diào)用具體的方法?反射的機(jī)制

          • Object 類(lèi)中的方法

          • 對(duì)象比較是否相同

          • hashmap put 方法存放的時(shí)候怎么判斷是否是重復(fù)的

          • Object toString 方法常用的地方,為什么要重寫(xiě)該方法

          • Set 和 List 區(qū)別?

          • ArrayList 和 LinkedList 區(qū)別

          • 如果存取相同的數(shù)據(jù),ArrayList 和 LinkedList 誰(shuí)占用空間更大?

          • Set 存的順序是有序的嗎?

          • 常見(jiàn) Set 的實(shí)現(xiàn)有哪些?

          • TreeSet 對(duì)存入對(duì)數(shù)據(jù)有什么要求呢?

          • HashSet 的底層實(shí)現(xiàn)呢?

          • TreeSet 底層源碼有看過(guò)嗎?

          • HashSet 是不是線(xiàn)程安全的?為什么不是線(xiàn)程安全的?

          • Java 中有哪些線(xiàn)程安全的 Map?

          • HashTable 你了解過(guò)嗎?

          • 如何保證線(xiàn)程安全問(wèn)題?

          • synchronized、lock

          • volatile 的原子性問(wèn)題?為什么 i++ 這種不支持原子性?從計(jì)算機(jī)原理的設(shè)計(jì)來(lái)講下不能保證原子性的原因happens before 原理

          • cas 操作

          • lock 和 synchronized 的區(qū)別?

          • 公平鎖和非公平鎖

          • Java 讀寫(xiě)鎖

          • 讀寫(xiě)鎖設(shè)計(jì)主要解決什么問(wèn)題?

          • 你項(xiàng)目除了寫(xiě) Java 代碼,還有前端代碼,那你知道前端有哪些框架嗎?

          • MySQL 分頁(yè)查詢(xún)語(yǔ)句

          • MySQL 事務(wù)特性和隔離級(jí)別

          二、事務(wù)的并發(fā)問(wèn)題

          • 不可重復(fù)讀會(huì)出現(xiàn)在什么場(chǎng)景?

          • sql having 的使用場(chǎng)景

          • 前端瀏覽器地址的一個(gè) http 請(qǐng)求到后端整個(gè)流程是怎么樣?

          • http 默認(rèn)端口,https 默認(rèn)端口

          • DNS 你知道是干嘛的嗎?

          • 你們開(kāi)發(fā)用的 ide 是啥?你能說(shuō)下 idea 的常用幾個(gè)快捷鍵吧?

          • 代碼版本管理你們用的是啥?

          • git rebase 和 merge 有什么區(qū)別?

          你們公司加班多嗎?(題外話(huà))

          舉例回答:

          項(xiàng)目用 Spring 比較多,有沒(méi)有了解 Spring 的原理?AOP 和 IOC 的原理

          答:(1). IoC(Inversion of Control)是指容器控制程序?qū)ο笾g的關(guān)系,而不是傳統(tǒng)實(shí)現(xiàn)中,由程序代碼直接操控??刂茩?quán)由應(yīng)用代碼中轉(zhuǎn)到了外部容器,控制權(quán)的轉(zhuǎn)移是所謂反轉(zhuǎn)。對(duì)于Spring而言,就是由Spring來(lái)控制對(duì)象的生命周期和對(duì)象之間的關(guān)系;IoC還有另外一個(gè)名字——“依賴(lài)注入(Dependency Injection)”。從名字上理解,所謂依賴(lài)注入,即組件之間的依賴(lài)關(guān)系由容器在運(yùn)行期決定,即由容器動(dòng)態(tài)地將某種依賴(lài)關(guān)系注入到組件之中。

          (2). 在Spring的工作方式中,所有的類(lèi)都會(huì)在spring容器中登記,告訴spring這是個(gè)什么東西,你需要什么東西,然后spring會(huì)在系統(tǒng)運(yùn)行到適當(dāng)?shù)臅r(shí)候,把你要的東西主動(dòng)給你,同時(shí)也把你交給其他需要你的東西。所有的類(lèi)的創(chuàng)建、銷(xiāo)毀都由 spring來(lái)控制,也就是說(shuō)控制對(duì)象生存周期的不再是引用它的對(duì)象,而是spring。對(duì)于某個(gè)具體的對(duì)象而言,以前是它控制其他對(duì)象,現(xiàn)在是所有對(duì)象都被spring控制,所以這叫控制反轉(zhuǎn)。

          (3). 在系統(tǒng)運(yùn)行中,動(dòng)態(tài)的向某個(gè)對(duì)象提供它所需要的其他對(duì)象。

          (4). 依賴(lài)注入的思想是通過(guò)反射機(jī)制實(shí)現(xiàn)的,在實(shí)例化一個(gè)類(lèi)時(shí),它通過(guò)反射調(diào)用類(lèi)中set方法將事先保存在HashMap中的類(lèi)屬性注入到類(lèi)中??偠灾趥鹘y(tǒng)的對(duì)象創(chuàng)建方式中,通常由調(diào)用者來(lái)創(chuàng)建被調(diào)用者的實(shí)例,而在Spring中創(chuàng)建被調(diào)用者的工作由Spring來(lái)完成,然后注入調(diào)用者,即所謂的依賴(lài)注入or控制反轉(zhuǎn)。注入方式有兩種:依賴(lài)注入和設(shè)置注入;IoC的優(yōu)點(diǎn):降低了組件之間的耦合,降低了業(yè)務(wù)對(duì)象之間替換的復(fù)雜性,使之能夠靈活的管理對(duì)象。

          AOP(Aspect Oriented Programming)

          (1). AOP面向方面編程基于IoC,是對(duì)OOP的有益補(bǔ)充;

          (2). AOP利用一種稱(chēng)為“橫切”的技術(shù),剖解開(kāi)封裝的對(duì)象內(nèi)部,并將那些影響了 多個(gè)類(lèi)的公共行為封裝到一個(gè)可重用模塊,并將其名為“Aspect”,即方面。所謂“方面”,簡(jiǎn)單地說(shuō),就是將那些與業(yè)務(wù)無(wú)關(guān),卻為業(yè)務(wù)模塊所共同調(diào)用的 邏輯或責(zé)任封裝起來(lái),比如日志記錄,便于減少系統(tǒng)的重復(fù)代碼,降低模塊間的耦合度,并有利于未來(lái)的可操作性和可維護(hù)性。

          (3). AOP代表的是一個(gè)橫向的關(guān) 系,將“對(duì)象”比作一個(gè)空心的圓柱體,其中封裝的是對(duì)象的屬性和行為;則面向方面編程的方法,就是將這個(gè)圓柱體以切面形式剖開(kāi),選擇性的提供業(yè)務(wù)邏輯。而 剖開(kāi)的切面,也就是所謂的“方面”了。然后它又以巧奪天功的妙手將這些剖開(kāi)的切面復(fù)原,不留痕跡,但完成了效果。

          (4). 實(shí)現(xiàn)AOP的技術(shù),主要分為兩大類(lèi):一是采用動(dòng)態(tài)代理技術(shù),利用截取消息的方式,對(duì)該消息進(jìn)行裝飾,以取代原有對(duì)象行為的執(zhí)行;二是采用靜態(tài)織入的方式,引入特定的語(yǔ)法創(chuàng)建“方面”,從而使得編譯器可以在編譯期間織入有關(guān)“方面”的代碼。

          (5). Spring實(shí)現(xiàn)AOP:JDK動(dòng)態(tài)代理和CGLIB代理 JDK動(dòng)態(tài)代理:其代理對(duì)象必須是某個(gè)接口的實(shí)現(xiàn),它是通過(guò)在運(yùn)行期間創(chuàng)建一個(gè)接口的實(shí)現(xiàn)類(lèi)來(lái)完成對(duì)目標(biāo)對(duì)象的代理;其核心的兩個(gè)類(lèi)是InvocationHandler和Proxy。CGLIB代理:實(shí)現(xiàn)原理類(lèi)似于JDK動(dòng)態(tài)代理,只是它在運(yùn)行期間生成的代理對(duì)象是針對(duì)目標(biāo)類(lèi)擴(kuò)展的子類(lèi)。CGLIB是高效的代碼生成包,底層是依靠ASM(開(kāi)源的java字節(jié)碼編輯類(lèi)庫(kù))操作字節(jié)碼實(shí)現(xiàn)的,性能比JDK強(qiáng);需要引入包asm.jar和cglib.jar。使用AspectJ注入式切面和@AspectJ注解驅(qū)動(dòng)的切面實(shí)際上底層也是通過(guò)動(dòng)態(tài)代理實(shí)現(xiàn)的。

          (6). AOP使用場(chǎng)景:

          • Authentication 權(quán)限檢查

          • Caching 緩存

          • Context passing 內(nèi)容傳遞

          • Error handling 錯(cuò)誤處理

          • Lazy loading延遲加載

          • Debugging 調(diào)試

          • logging, tracing, profiling and monitoring日志記錄,跟蹤,優(yōu)化,校準(zhǔn)

          • Performance optimization性能優(yōu)化,效率檢查

          • Persistence 持久化

          • Resource pooling資源池

          • Synchronization同步

          • Transactions 事務(wù)管理

          另外Filter的實(shí)現(xiàn)和struts2的攔截器的實(shí)現(xiàn)都是AOP思想的體現(xiàn)。

          螞蟻金服面試場(chǎng)景以及面試答案(文檔總結(jié))


          最后

          本人也收藏了一份Java面試核心知識(shí)點(diǎn)來(lái)應(yīng)付面試,借著這次機(jī)會(huì)可以免費(fèi)送給我的讀者朋友們:

          目錄:

          Java面試核心知識(shí)點(diǎn)

          一共有30個(gè)專(zhuān)題,足夠讀者朋友們應(yīng)付面試?yán)玻补?jié)省朋友們?nèi)サ教幩压钨Y料自己整理的時(shí)間!

          Java面試核心知識(shí)點(diǎn)

          資料的領(lǐng)取方式:關(guān)注轉(zhuǎn)發(fā)后私信我【面試資料】即可免費(fèi)獲取哦!

          已經(jīng)有讀者朋友靠著這一份Java面試知識(shí)點(diǎn)指導(dǎo)拿到不錯(cuò)的offer了,各位讀者朋友們快來(lái)找我免費(fèi)獲取吧!

          大廠(chǎng)面試115道(上下集)


          有朋友靠這份大廠(chǎng)面試文檔面試了阿里、新浪、中國(guó)平安最后拿到了中國(guó)平安offer?。?!


          資料的領(lǐng)取方式:關(guān)注轉(zhuǎn)發(fā)后私信我【面試資料】即可免費(fèi)獲取哦!

          本文就是愿天堂沒(méi)有BUG給大家分享的內(nèi)容,大家有收獲的話(huà)可以分享下,想學(xué)習(xí)更多的話(huà)可以到微信公眾號(hào)里找我,我等你哦。


          瀏覽 85
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  美女自慰网站免费看 | 国产操网 | 欧美日本中文字幕 | 亚洲无码影视 | 国产麻豆黄色有码 |