<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>

          面試 30 家公司,終于拿到 Offer !!

          共 15284字,需瀏覽 31分鐘

           ·

          2022-12-22 08:08

          今天分享一個朋友被“畢業(yè)”后的求職經(jīng)歷。

          我這里就不貼參考答案了,需要參考答案的朋友可以在下面 3 個資料中找到:

          下面是正文。

          在老東家干了 6 年,發(fā)展一般,很想出去,但是一直沒有合適的機會,只好一邊準備面試一邊學習。讓我沒有想到的是,突然收到了“畢業(yè)”通知,當然,不光是我,而是整個團隊。

          畢業(yè),對于我這樣的老員工來說是不錯的結(jié)果,因為正好我也想出去,而且這次公司還能給不少補貼。

          回家住了一段時間后,我開始了瘋狂面試,今年的求職環(huán)境真的讓人頭疼,不要說張薪了,平薪都很難。下面介紹我面試過的公司。

          首先介紹下個人情況,雙非本科,寫碼 8 年,其中 6 年在金融行業(yè),算是有行業(yè)積累,但是核心業(yè)務(wù)并沒有接觸到。在金融行業(yè)工作,技術(shù)的提升是比較小的,好多流行的技術(shù)棧沒有用過。

          1 鏈宇科技(新能源,筆試)

          上來就是一套筆試卷,下面是其中兩套筆試題:

          面試心得:

          • 創(chuàng)業(yè)小公司,一上來就筆試題,而且用瀏覽器筆試回答過程還有視頻監(jiān)控,侵犯隱私,感覺有點惡心;
          • 果斷遮住,這公司面過了也不想去;
          • 但太久沒刷題,只做下題找下狀態(tài)。

          2 北大醫(yī)信(醫(yī)療行業(yè) erp)

          1. SpringBoot 怎么啟動的;
          2. RabbitMQ 發(fā)消息哪幾種方式;
          3. 會哪些設(shè)計模式,策略模式在項目中怎么用的;
          4. 線程怎么創(chuàng)建的,有哪幾種方式;
          5. 有哪幾種線程池實現(xiàn)方式;
          6. 哪些場景用消息隊列;
          7. JVM 參數(shù)怎么調(diào)優(yōu);
          8. 反射怎么用。

          面試心得:

          一面 20 分鐘結(jié)束,掛!基本都能答上一點點,但是思路不清晰,語言組織吞吞吐吐,技術(shù)理解不透徹,太久沒面試,緊張。

          3 長亮科技(外包)

          1. 自我介紹,項目經(jīng)歷;
          2. 項目流程是怎樣的,你做過的項目,講講哪塊是你做的?
          3. Synchronized 是怎樣實現(xiàn)的,偏向鎖標志存哪里,為什么升級到重量鎖慢,偏向鎖有個開關(guān),如果默認開啟有什么缺點?
          4. Synchronized 為什么慢,cas 是不是操作系統(tǒng)執(zhí)行的,他比 Synchronized 快還是慢為什么?
          5. CAS 平時怎么用的,會有什么問題,為什么快,如果我用 for 循環(huán)代替 cas 執(zhí)行效率是一樣的嗎?
          6. volatile 哪些場景會用到,原理是什么,除了在單例模式中用到,還有什么地方?
          7. 還用過哪些分布式組件,Redis 集群怎么搭建的,有哪些配置,哈希槽概念,hash 是怎么分布的?
          8. Redis 一個請求過去,是在客戶端還是在服務(wù)端,通過 key 找到對應(yīng)的數(shù)據(jù)?
          9. 如果 Redis 集群特別慢,有什么排查方法?
          10. 還有其他哪些分布式組件,你最熟悉哪一塊?
          11. AtomicInteger 自增到一萬以后,怎么歸零;
          12. 源碼看過哪些,講講。

          面試心得:一面 20 分鐘掛,好幾個沒答上來!

          4 中諾數(shù)科(供應(yīng)鏈金融):

          1. 自我介紹;
          2. 你工作這么多年了,哪些技術(shù)棧比較擅長,你覺得你做的好的項目有哪些,或者說業(yè)務(wù)復(fù)雜的地方在哪里,怎么解決的?
          3. 說一下貸前,貸中,貸后的流程,你負責哪些模塊,講講實現(xiàn)流程,有沒有技術(shù)難點,業(yè)務(wù)解決難點?
          4. 說一下 CAS 怎么用的,會有哪些問題,Synchronized 呢;
          5. 說一下你對 Spring 的理解;
          6. 我們知道 Redis 很快,訪問是在內(nèi)存中的,除了這個原因,還有沒有其他原因?
          7. 你是怎么理解分布式架構(gòu)的,怎么做的微服務(wù)?
          8. 有沒有參與過開源項目的貢獻?
          9. 你是怎么學習一門新技術(shù)的,方法是什么?
          10. Java 有哪幾種基本數(shù)據(jù)類型?float 和 double 的區(qū)別是?
          11. String 和 StringBuffer、StringBuilder 的區(qū)別是?
          12. List 和 Set 的區(qū)別是?
          13. HashMap 的底層結(jié)構(gòu)是?
          14. MyBatis 一級緩存和二級緩存的區(qū)別是?
          15. 說一下你對設(shè)計模式的理解,怎么根據(jù)項目的業(yè)務(wù)去選哪些設(shè)計模式,根據(jù)什么情況去做的設(shè)計模式?
          16. SpringCloud 你用過哪些,怎么用的,為什么選擇 SpringCloud 組件?
          17. 你用過 Gateway,那么 Gateway 怎么做的動態(tài)路由?
          18. 說一下 NIO,為什么快,比傳統(tǒng)阻塞 io?
          19. MySQL 索引建立的時候需要注意哪些?
          20. MySQL 查詢需要注意哪些事項?
          21. MySQL 一句 sql 執(zhí)行語句,從執(zhí)行到返回結(jié)果,mysql 做了哪些事情?
          22. MySQL 字段 char 和 varchar 的區(qū)別是啥,varchar(30)代表什么意思?
          23. MySQL 查詢平時怎么優(yōu)化的?
          24. 消息中間件用的什么?RabbitMQ?有哪幾種發(fā)送消息的模式?
          25. 如果訪問一個頁面報錯,那么怎么開始排查最終定位問題?
          26. Spring 的循環(huán)依賴怎么實現(xiàn)的?

          5 小數(shù)點科技(房抵渠道)

          1. 你對代碼或者系統(tǒng),做過哪些優(yōu)化?
          2. 系統(tǒng)慢,比如 cpu 高或者內(nèi)存高,是怎去排查的問題?
          3. Redis 有哪幾種數(shù)據(jù)類型,這幾種數(shù)據(jù)類型應(yīng)用場景分別是怎樣的?
          4. Redis 怎么保證事務(wù)?
          5. Spring 事務(wù)的傳播機制,是怎樣的?
          6. 如果有一個 select 方法,有 Spring 事務(wù)注解,這里面調(diào)用了一個 update 數(shù)據(jù)庫的方法, update 是另外一個方法,update 有沒有事務(wù)?
          7. 樂觀鎖和悲觀鎖,你在項目中的使用場景是什么?
          8. 說一下你對樂觀鎖的理解?
          9. 你的消息中間件,怎么保證順序性?

          面試心得:15 分鐘結(jié)束。等通知(沒戲)

          6 北京鑫物(小說 app)

          1. 自我介紹一下;
          2. mysql 是做的集群嗎,主從是怎么做的配置?從服務(wù)器幾個線程去同步主庫的?
          3. 聯(lián)合索引 a b c 怎么生效,ac 或者 ab 生效嗎?
          4. 你們 jvm 啟動參數(shù)怎么設(shè)置的,大小怎么配置?
          5. 怎樣讓 AB 兩個線程交替執(zhí)行,他倆執(zhí)行完再讓 C 線程在這倆之后執(zhí)行?
          6. SpringCloud 服務(wù)注冊與發(fā)現(xiàn),底層是怎么實現(xiàn)的,用 netty?
          7. 怎么定位服務(wù)器的問題,如果內(nèi)存過大,怎么排查定位解決?
          8. 你們是用的自己的服務(wù)器,還是買的云服務(wù)?項目是怎么打包發(fā)布的?
          9. 發(fā)布到 linux 服務(wù)器上,有寫過啟動應(yīng)用的腳本嗎?

          面試心得:20 分鐘完,問了現(xiàn)在薪資和期望,然后說等通知! 二面被我拒絕了,感覺距離太遠,而且行業(yè)方向不對口

          7 恒昌利通(小貸公司)

          1. 自我介紹;
          2. 公司業(yè)務(wù)模式介紹,做什么業(yè)務(wù)的,你做哪塊的;
          3. 多線程的幾種實現(xiàn)方式,線程數(shù)池的好處,線程池有哪些參數(shù),你們用哪種策略,生產(chǎn)中也用拒絕策略嗎?
          4. 什么是 cas,cas 會有什么問題,Java 哪些類用了 cas?基本包裝類型有用到 cas 嗎?
          5. 對觀察者模式了解嗎,項目中怎么用到的?
          6. gc 有哪些算法,垃圾收集器,cms 有什么優(yōu)點?
          7. 說一下 cap 理論,Zookeeper 是滿足 cap 哪幾個點,eureka 呢,nacos 呢?
          8. mysql 索引失效場景?
          9. 內(nèi)存溢出有哪些情況?堆內(nèi)存溢出有哪些情況?
          10. mybatis 預(yù)編譯怎么實現(xiàn)的?
          11. mybatis 怎么防止 sql 注入?
          12. Redis 數(shù)據(jù)類型?
          13. Redis rdb 和 aof 的區(qū)別?
          14. Redis 緩存穿透 擊穿 雪崩?
          15. Redis 分布式鎖有哪幾個參數(shù)?
          16. Redis 分布式鎖怎么進行鎖續(xù)期?
          17. Redis 實現(xiàn)分布式鎖 和 Zookeeper 實現(xiàn)分布式鎖有什么區(qū)別?
          18. Zookeeper 搶占分布式鎖,如果 5 個線程去創(chuàng)建節(jié)點,如果第三個線程掛了,影響后面的線程嗎?
          19. Java 守護線程的作用?
          20. spi 機制了解嗎?

          面試心得:聊了一個小時左右,答的也不是很好。然后過了初試,約了復(fù)試時間;公司地址: 北京市朝陽區(qū)華騰世紀總部公園 E2 座 3A 層(地鐵四惠東站 B 口出,導(dǎo)航至華騰世紀總部公園南 2 門)

          8 致遠互聯(lián)(協(xié)同管理軟件)

          1. 自我介紹;
          2. cas 自增 和 Synchronized 自增 誰快 ?
          3. synchronized 和 ReentracLock 哪個快,為啥?
          4. Spring 和 SpringBoot 的區(qū)別,是什么?
          5. SpringBoot 用的是什么概念去實現(xiàn)的,他是用的什么思想去做的?
          6. 如果讓你實現(xiàn)一個 SpringBoot starter,你應(yīng)該怎么做?
          7. SpringCloud 用過哪些組件 ?
          8. rabbitMQ 實現(xiàn)機制,了解嗎,為什么這么快?
          9. mysql innodb 索引失效場景
          10. 你項目里面的東西,哪些可以值得拿出來說一下?
          11. NIO 了解嗎?
          12. Jdk1.8 默認 JVM 的參數(shù)

          面試心得:讓我等了 20 分鐘才進來,面試問一堆我不會的東西,面試也就問了 20 分鐘,沒戲等通知。

          9 拉勾網(wǎng)(招聘網(wǎng)站)

          1. 自我介紹;
          2. 用過哪些集合,怎么理解;
          3. Hashmap 的底層實現(xiàn),是線程完全嗎,為什么?
          4. ConcurrentHashMap 怎么實現(xiàn)的?
          5. 對 Volatile 和 Cas 怎么理解,Synchronized 呢?
          6. MySQL 的三種日志分別是什么,undolog 怎么實現(xiàn)事務(wù)的?
          7. MySQL innodb 的數(shù)據(jù)結(jié)構(gòu),B+tree 和 B-tree 的區(qū)別在哪里,數(shù)據(jù)是怎么存儲的,數(shù)據(jù)頁的概念是什么 ,頁是連續(xù)的嗎?B+tree 的非葉子結(jié)點存的什么?

          面試心得:20 分鐘完成,答的不好,說等通知沒戲!

          10 視聯(lián)動力(視頻通信軟件)

          1. 你做了這么多年開發(fā)了,項目里面有什么值得拿出來說一下的?比如復(fù)雜的業(yè)務(wù)或者復(fù)雜的技術(shù)問題?
          2. 分布式事務(wù),什么場景用,為什么用,你用的 hmily,那么用過 seata 嗎,seata 支持 tcc 模式嗎,分布式事務(wù)會出現(xiàn)一些什么問題?
          3. 講一下單例模式,為什么用 double check 的方式,為什么會用 volitale;
          4. 看你簡歷寫的,排查過線上問題排查,你是怎么排查定位的?
          5. 看你簡歷寫的,修復(fù)過宕機問題,是怎么定位修復(fù)的?
          6. 除了單例模式,其他設(shè)計模式,你結(jié)合你的項目,怎么用的,為什么會考慮用到設(shè)計模式,帶來什么好處,能講講嗎?
          7. 分布式鎖怎么用的,Redis 用分布式鎖會有什么問題?
          8. 你用分布式鎖,都在哪些場景下用到的?
          9. 說下你對 cas 的理解,可能會有什么問題,除了 AtomicReference 還有什么方案能解決 ABA 問題?
          10. Redis 常用的數(shù)據(jù)類型,在哪些場景下用到 Redis,有復(fù)雜一點的場景嗎?
          11. Redis 怎么實現(xiàn)發(fā)布訂閱的功能?
          12. MySQL,有一個長事務(wù)掛起很久了,怎么去查看殺掉?
          13. MySQL 表的數(shù)據(jù)量達到一定規(guī)模,比如幾百萬條,如果 insert 比較慢,該怎么排查解決?是數(shù)據(jù)量的問題,還是其他問題?
          14. SpringCloud nacos 注冊以后, 是通過怎么去調(diào)用服務(wù)的?
          15. 怎么去解決接口的冪等性問題,如果數(shù)據(jù)庫里面沒有唯一主鍵?
          16. 分布式鎖實現(xiàn)業(yè)務(wù)冪等?

          面試心得:

          • 一個小時結(jié)束,聊了很多,對方語音聽不太清,面試效率不是很高;
          • 今天面試被 PUA,說我能力不行;
          • 工作這么多年了,很多深層次的東西不了解,給我提建議,讓多總結(jié)多學習,給我說大數(shù)據(jù)量情況下,sql 優(yōu)化、設(shè)計模式、分布式組件、大有可為,呵呵噠!

          11 壹碼科技(食品檢測設(shè)備)

          1. 自我介紹,哪個學校,哪年畢業(yè)的,是不是統(tǒng)招本科?
          2. 為什么來北京,接下來怎么考慮職業(yè)規(guī)范、發(fā)展;
          3. 接下來怎么考慮職業(yè)發(fā)展,行業(yè)方向,主要做什么考慮;
          4. 在之前工作中,有沒有感覺相處不愉快的事情,感覺公司有什么不合理的制度嗎?
          5. HR 開始介紹自己的公司規(guī)模;
          6. 數(shù)字化工廠事業(yè)部,純軟件方向;
          7. 主要是做企業(yè)管理系統(tǒng),二次定制開發(fā);
          8. 問了薪資多少,是否能夠提供流水,期望薪資多少;
          9. 社保公積金繳納比例多少;
          10. 后續(xù)有需要,技術(shù)部門再找你溝通;

          面試心得:浪費時間,估計就是 hr 忽悠我,不想面試了。

          12 某基金公司

          1. 聊天式面試主要問我們公司是做什么業(yè)務(wù)的;
          2. 自我介紹,挑一個你認為你很成功的項目來說一下;
          3. 說一下你常用熟悉的集合,講一下區(qū)別,hashMap 不同的版本有什么區(qū)別;
          4. Redis 常用的數(shù)據(jù)結(jié)構(gòu)有哪些,怎么用的?
          5. 看過 mybatis 源碼嗎,最近有在學什么新技術(shù)嗎?
          6. mysql 數(shù)據(jù)量表大了,上千萬了,怎么優(yōu)化;
          7. 怎么優(yōu)化查詢 sql 語句;
          8. Redis 如果是集群,有沒有緩存丟失的情況,腦裂是什么;
          9. Redis 緩存擊穿怎么避免,你是用布隆過濾器怎么解決的?
          10. 選擇設(shè)計模式,是怎么考慮的?實際項目中怎么用到的?

          面試心得:50 分鐘左右,面試的整個過程,不是很難,一面應(yīng)該通過了,面試官問了期望薪資,我說期望年 xxx,面試官說現(xiàn)在行情不好給不到這么多,問多久能到崗,同時約了下周三復(fù)試時間

          13 新東方前途(出國咨詢)

          1. 自我介紹、系統(tǒng)業(yè)務(wù)邏輯介紹
          2. 為什么 3 月份到現(xiàn)在,還沒上班?
          3. 然后介紹他們現(xiàn)在想做什么系統(tǒng)?

          面試心得:這邊他們只想做一個手機號匹配的,類似用戶中心管理系統(tǒng)頁面的功能,工資低,18~22k。系統(tǒng)也很簡單,這次線上面試我的還是個用戶中心的系統(tǒng)用戶,都不是技術(shù),還想約線下面試,浪費時間,已拒絕。

          14 中關(guān)村科金(數(shù)字科技)

          1. 自我介紹,挑一個你最熟悉的項目說吧,然后用了哪些技術(shù)棧,你對哪塊技術(shù)熟悉?
          2. HashMap 初始容量大小是 16, 擴容加載因子 0.75。如果容量到 12,肯定會擴容嗎?
          3. 線程池拒絕以后,如果這個任務(wù)很重要,該用什么策略,接下來該怎么辦,直接丟棄嗎?
          4. 微服務(wù)你們怎么用的,用到哪些組件?
          5. jvm 參數(shù)怎么設(shè)置,怎么排查 jvm 的問題?
          6. 如果系統(tǒng)訪問變慢,你怎么排查問題,鏈路追蹤用過嗎?
          7. mysql 兩個字段,id name socore ,怎么取 score 前 3 的?如果第三個 socre 有重復(fù)的,怎么取 score 排名前 3 所有人的名字?
          8. Redis 怎么實現(xiàn)輪訓(xùn),你用哪些數(shù)據(jù)結(jié)構(gòu)可以實現(xiàn),或者其他的你用什么算法實現(xiàn)?
          9. mysql 查詢怎么優(yōu)化?
          10. nacos 服務(wù)調(diào)用,怎么實現(xiàn) cp 和 ap,ap 是默認的,那么 cp 模式呢?
          11. nacos 怎么實現(xiàn)的動態(tài)配置,底層原理怎么實現(xiàn)的?
          12. gateway 網(wǎng)關(guān),你們后面配置的轉(zhuǎn)發(fā),分內(nèi)部和外部系統(tǒng)嗎?
          13. feign 用過嗎?
          14. k8s 容器 了解過嗎?
          15. nacos 配置文件的格式有哪幾種知道嗎?.yml 或者 .properties
          16. nacos 動態(tài)服務(wù)注冊怎么實現(xiàn)的;
          17. rabbit mq 怎么保證不丟失?
          18. rabbit mq 多個消費者 A、多個生產(chǎn)者 A;如果我 A 發(fā)送消息給消費者,需要告訴 B 停止處理消息,該怎么做?
          19. mysql 行鎖和間隙鎖了解嗎?
          20. 線上如果內(nèi)存過大或者 cpu 占用多,你該怎么排查?

          面試心得:很多細節(jié)不會,有點懵的感覺。面試了一個多小時,一邊面試我一邊告訴我答案,他們技術(shù)用的比較新,jdk 17 + SpringCloudalibaba,等通知!然后過了一會 hr 居然還約了時間二面;

          15 卓望(移動子公司)

          1、你對 g1 收集器了解嗎,他的好處知道嗎?

          回答:用分區(qū)弱化了分代的概念,強調(diào) garbage first,需要回收時才回收的優(yōu)先原則,通過卡表維護記錄回收了哪些內(nèi)存塊區(qū)域,可以通過 MaxGCPauseTime 控制最大回收時間,提高系統(tǒng)響應(yīng)時間,系統(tǒng)吞吐量;

          又問,那他的 MaxGCPauseMillis 是怎么控制實現(xiàn)了解嗎?

          沒答上;

          2、你們用的什么 jdk 版本,你用的收集器是什么?這收集器會有哪些缺點,實際場景中都遇到什么樣的 gc 問題,你們 jvm 參數(shù)是怎么配置的?

          答:用的 jdk1.8 版本,收集器是 CMS+parNew ,講了一些堆棧參數(shù)配置,比如系統(tǒng)內(nèi)存是 6G,--Xmn 4g ,-Xmx 4g ,-Xss 512k 的設(shè)置, -Xmn 和-Xmx 最好設(shè)置成一樣大,避免內(nèi)存動態(tài)擴展震蕩,導(dǎo)致多發(fā)生一些不必要 gc 問題,用 cms,會有內(nèi)存碎片化問題,可以通過兩個參數(shù)開啟內(nèi)存碎片化整理,多少次 fullgc 后整理一次碎片,gc 中的 Promotion Failed 問題,Concurrent Mode Failure 問題會導(dǎo)致最后用 Serial Old 單線程回收;

          還講了代碼編寫不規(guī)范,比如查詢整個表里面數(shù)據(jù)不分頁直接放到 List 集合中,如果條數(shù)過多會導(dǎo)致內(nèi)存溢出,F(xiàn)ileInputStream 操作文件流使用后沒有在 finally 中釋放資源,導(dǎo)致內(nèi)存泄露;update sql 語句,使用索引不規(guī)范導(dǎo)致鎖表,其他 update sql 同樣表的線程等待釋放鎖,整個請求鏈路都變慢,內(nèi)存無法釋放,導(dǎo)致內(nèi)存溢出的問題;

          追問:你們系統(tǒng)內(nèi)存是 6g,當時設(shè)置堆內(nèi)存大小,比例是怎么考慮的?

          沒答上;

          追問:如果你應(yīng)用內(nèi)存過大,或者 cpu 占用過多,你們是怎么排查的?

          答:用 top 命令,shift +p/m,可以切換查看使用最大 cpu 或者內(nèi)存的進程 pid

          3、juc 包 concurrenthashmap 里面用過嗎,1.8 是怎么實現(xiàn)的,

          回答:1.8 升級了,鎖的粒度更細,使用 synchronized+cas,synchronized 鎖住哈希沖突的數(shù)組中頭結(jié)點;

          又問 cas 是用在哪里?你認為 Synchronized 鎖住哈希沖突的頭結(jié)點以后,就不需要 cas 操作了嗎?

          cas 是用在哪里沒答上,然后我說 synchronized 鎖住哈希沖突的頭結(jié)點以后,應(yīng)該不需要 cas 操作了,因為此時單線程操作安全了;

          4、程池中 execute 和 submit 方法有什么區(qū)別?

          回答:一個是提交 Runnable 參數(shù),一個是提交 Callable 對象參數(shù),其中 Callable 有返回值;在 execute 方法中提交 Runnable 任務(wù)時,后臺有 RunnableAdapter,其實是把 Runnable 轉(zhuǎn)換成 Callable 執(zhí)行,這里用到了適配器模式,只不過 execute 方法的返回值為空;還有通過 submit 提交的方法,后續(xù)用 Future.get 阻塞獲取執(zhí)行結(jié)果,并且異常需要提交任務(wù)的線程自己處理;

          又追問:submit 方法提交的任務(wù),如果發(fā)生異常需要調(diào)用者自己處理,這塊后臺是怎么實現(xiàn)的?

          沒答上!

          5、Redis 分布式鎖,你們怎么用的,有哪幾個參數(shù)需要設(shè)置?

          回答:五個參數(shù),key 鎖名稱,requestID 客戶端 id,NX(SET_IF_NOT_EXIST),PX(SET_WITH_EXPIRE_TIME),expireTime(超時時間),因為哪個客戶端請求的就哪個釋放,避免死鎖,所以有這幾個參數(shù);

          又問:你們生產(chǎn)用的什么樣的分布式鎖?

          答:用的 Redisson,因為用 jedis 實現(xiàn)分布式鎖,很難解決鎖續(xù)期的問題,在超時時間內(nèi)如果 A 客戶端沒有執(zhí)行完任務(wù),鎖被超時釋放了, 次數(shù) B 客戶端就獲取了鎖,那么就會出現(xiàn)問題;

          又問:如果你們用 Redisson,在 Master 宕機以后,slave 沒有同步到分布式鎖,這個問題用什么方案怎么解決?

          沒答上!

          6、MySQL 字段 char 和 varchar 有什么區(qū)別?

          回答:char 不可變,當字段長度確定固定后,用 char;varchar 可變的,字段長度不確定用 varchar,會多一個字節(jié)存儲長度

          又追問:除了這個,還有其他區(qū)別嗎?

          沒答上,此時我反問他:那請問你知道還有什么區(qū)別嗎?

          他回答:當你使用 varchar 時,如果用了 modify column 去把列修改成 char,會產(chǎn)生內(nèi)存碎片空間

          7、你們 mysql 用了集群嗎?

          回答:沒有,我們用的主從同步,master/slave,主庫開啟 binlog,采用 row 行同步方式,主庫一個線程去寫入 binlog 里;從庫一個線程從主庫的 binlog 同步到本地的中繼日志,然后再用一個線程從中繼日志同步據(jù)到本地數(shù)據(jù)庫數(shù);(因為之前其他公司被問到過主從同步用了幾個線程,當時回答只有一個線程,答錯,后來百度搜了下明白了;也不敢說用過 mysql 集群,因為按照他的提問方式,如果說用了,感覺他會繼續(xù)問涉及到備份、讀寫分離、數(shù)據(jù)一致性問題,怕回答不好露餡)

          8、你剛才說到了 binlog,那么 redolog 了解過嗎?

          答:redolog 好像是用做數(shù)據(jù)恢復(fù)的(答錯),面試官糾正,是用來做事務(wù)持久化用的;又問:那么為了保持事務(wù)和數(shù)據(jù)一致性,redolog 和 binlog 他倆是怎么做到同步的?沒答上,這問題一點不會;

          9、你們消息隊列用的什么,Kafka 和 RocketMQ 用過嗎。你用的 RabbitMQ 是吧,那講講怎么保持消息順序性!

          回答:RabbitMQ,生產(chǎn)者是通過交換機塞入 quene 中,你可以用 direct exchange 模式,指定 routingkey 綁定 quene, 生產(chǎn)者往隊列里面塞,消費者用單線程消費,消費完一個,給生產(chǎn)者 ack 確認機制以后,再繼續(xù)消費下一條;又追問,如果消費者端用多線程消費,就沒辦法保證順序性了嗎?沒答上!

          10、RabbitMQ 怎么保證不重復(fù)消費?

          回答:因為有時候由于網(wǎng)絡(luò)故障,導(dǎo)致了消息重發(fā)的問題,隊列中可能產(chǎn)生重復(fù)的消息;如果消息隊列是一個類似 insert 數(shù)據(jù)庫語句的操作,那么可以通過數(shù)據(jù)庫唯一鍵來保持插入不可重復(fù);如果不是 insert 語句操作,可以通過借助 Redis,消費者端接受到消息的時候,先往 Redis 里面 set key,后續(xù)每次消費的時候,都先從 Redis key 里面 get 一下,如果有這個 key 了,那么就不消費了;

          11、Rabbitmq 死信隊列,你們是怎么處理的?

          回答:專門用一個消費者線程,去綁定死信隊列 quene,消費死信隊列的消息;

          12、你們之前的系統(tǒng),有用過微服務(wù)嗎,SpringCloud 這塊?

          回答:用戶中心改造過,nacos 用來做注冊服務(wù),gateway 用來做登錄權(quán)鑒,驗證 token 的操作。

          13、那你們用 SpringBoot 這塊,starter 流程是怎么實現(xiàn)的,能講講嗎?

          答:通過@SpringBootApplication 組合注解,run SpringApplication 類啟動的;@SpringBootApplication 是組合注解,里面有@EnableAutoConfiguration 和 @Configuration 組合起來的,其中@EnableAutoConfiguration 是開啟自動配置,里面還有一個@Import 注解 ,在 AutoConfigurationImportSelector 類里面會調(diào)用 loadFactoryNames 方法,加載你 starter 的 jar 下 META-INF/Spring.factories 這個配置,然后這個配置文件里面,配置了一些你這個 starter 需要用到的類,比如很多行 ..* = ... ,然后這些類都被當做組件加載到 Spring 容器中,直接提供給用戶使用;

          14、分布式事務(wù)有了解嗎?

          答:我知道 Seata 分布式組件,支持 xa 模式和 tcc 模式(答的不全,還支持 AT(默認)、Seaga 模式) 追問:那你們的系統(tǒng),是分布式的,還是單體多機的模式 回答:用了單體多機模式;

          15、我看你簡歷寫了分表處理幾千萬黑名單數(shù)據(jù)這個,是用的分庫分表嗎?

          答:只是分表沒有分庫,按照黑名單數(shù)據(jù),里面身份證地區(qū)代碼開頭做區(qū)分,往對應(yīng)不同的表前綴存就行了;

          16、那你們的系統(tǒng)都沒有用分布式的吧?分庫分表這些也沒用到?

          回答:是的

          17、你還有什么想問我的嗎?

          我問他:你們技術(shù)棧:他回答:我們主要用 SpringCloud 微服務(wù)這塊,中間件 kafka Redis,MySQL 分庫分表;

          面試心得:問答環(huán)節(jié)一個小時,前面的問題,80% 還是基于你簡歷寫的技術(shù)棧去詢問溝通,有些回答上了,有些沒回答上;最后問的這兩個問題,感覺對方應(yīng)該主要是分布式微服務(wù)這塊技術(shù)棧,可能經(jīng)歷不太匹配。就我目前了解到的那點微服務(wù)的技術(shù),也不敢說自己用過分布式,不然他應(yīng)該會追問你服務(wù)怎么拆分的,分布式場景下的一致性問題等等這些!如果要投,有分布式微服務(wù)要求描述這塊的崗位,感覺還是得再學一下,再融合到自己項目中去;這次面試,也是說等通知,應(yīng)該沒戲了!

          16 某基金公司復(fù)試

          1. 自我介紹:挑一個你最熟悉的項目說吧,然后用了哪些技術(shù)棧,你對哪塊技術(shù)熟悉?
          2. 你工作這么多年了,解決過哪些復(fù)雜的問題,系統(tǒng)設(shè)計上的問題,還是生產(chǎn)中處理過的問題,說一下?
          3. RabbitMQ 死信隊列了解嗎,怎么處理的?
          4. 中間件用過哪些,Redis 怎么用的,說一下場景?
          5. 你生產(chǎn)處理過內(nèi)存宕機的問題對吧,當時怎么分析解決的?
          6. FullGC 的情況說一下,怎么排查解決的?

          面試心得:二面應(yīng)該是通過,問的不是很難,之前整理過的問題都答上了,整個過程 20 多分鐘,約了下周 HR 三面

          17 中關(guān)村科金復(fù)試

          1. 自我介紹;
          2. 微服務(wù)你用過哪些組件;
          3. 系統(tǒng)上的這些中間件環(huán)境你搭建過嗎;
          4. 多久能到崗;
          5. 介紹了下他們是做音視頻開發(fā)的,產(chǎn)品需要部署到客戶現(xiàn)場,需要駐場部署。

          面試心得:問了多久能到崗,是否接受駐場,可能雙方?jīng)]有意愿吧,我嘴上接受駐場,但是感覺還是有點不太想去,對面聽出我的口氣,最后也沒給我 offer;

          18 和迅網(wǎng)(財經(jīng)咨詢)

          1. 說一下 cas 和 synchronized;
          2. 用過哪些鎖你都說下;
          3. 介紹公司業(yè)務(wù)模式,系統(tǒng)業(yè)務(wù)流程描述,以及你用過哪些技術(shù);
          4. 介紹一下你們的系統(tǒng)吧,支付這塊是怎么實現(xiàn)的?
          5. HashMap 擴容以后,數(shù)組下標會變吧,擴容以后,如果再去 get,獲取數(shù)據(jù)的時候,這個哈希值變了嗎?
          6. 說一下你知道 SpringCloud 組件,知道哪些都說出來?然后用過哪些?
          7. 你們微服務(wù)這塊,怎么做的?具體的實例,是怎么部署的,多臺嗎,然后怎么做負載均衡的?
          8. Redis 用過哪些數(shù)據(jù)結(jié)構(gòu)?
          9. 消息隊列用的啥?
          10. mysql 分表處理幾千萬數(shù)據(jù),怎么處理的?

          面試心得:30 分鐘掛。

          19 恒昌利通現(xiàn)場復(fù)試

          面試地點:華騰世紀公園 E2 座 3A 層

          1、本來是現(xiàn)場技術(shù)總監(jiān)二面,領(lǐng)導(dǎo)開會讓我等了 20 分鐘,估計還得等;

          2、所以 hrbp 先面了,先聊了一會兒,問到我畢業(yè)時間,是不是統(tǒng)招本科,空檔期在干嘛,現(xiàn)在有 offer 嗎,2011 年畢業(yè),2013 年才參加工作,當時為啥。2013、2015 的時候離職原因是啥?

          (我內(nèi)心:現(xiàn)在不都 2022 年了嗎,還問 2013 年離職原因) 問了現(xiàn)在薪資和期望薪資待遇的情況,我說期望多少,她說高了肯定給不到,現(xiàn)在行情也不好;給我介紹了他們公司的幾條業(yè)務(wù)線,消費貸,汽車融資租賃,房抵貸渠道,然后還有自動貨柜出售商品業(yè)務(wù);公司有上萬名員工;(當時我看他們這層樓人都不多,而且辦公環(huán)境也不好,有點質(zhì)疑心態(tài))

          3、hr 問我上家干了這么多年,有哪些成長;

          我:說學了一些新技術(shù),學會了金融業(yè)務(wù)。我大概講了一下。她又問我怎么用新技術(shù)去解決問題的,我說你懂技術(shù)嗎?她說懂,讓我講給她聽;然后我開始講生產(chǎn)中處理過的比如內(nèi)存溢出、宕機,講到一半說到細節(jié),她聽不懂了,被喊停。后來開始聊其他的,聊了幾分鐘;問我對項目做過哪些復(fù)盤,你的整理總結(jié)文檔輸出沉淀有哪些?有沒有團隊分享?我說我有記錄總結(jié)博客,需要把博客地址發(fā)給你看下嗎?hr 還是把剛才的話題談回來,問我解決過哪些問題,有哪些成長?然后我盯著她(內(nèi)心:剛才不是給你講了嗎,你不是聽不懂還問?), 她就反問我道:我說的不明白嗎,問題描述不太清楚嗎?(內(nèi)心很無奈:現(xiàn)在 hr 也這么裝嗎,是顯得在公司做 bp 有更高價值,都開始問候選人技術(shù)問題了?) 我繼續(xù)跟她扯,打算敷衍一下;前面扯完了,說到薪資結(jié)構(gòu),14 薪,會在 offer 里面體現(xiàn);然后社保公積金基數(shù),只按照 8k 繳納;

          4、技術(shù)總監(jiān)來了,上來讓我自我介紹,讓我講了下上家公司的業(yè)務(wù)模式、項目流程;

          5、你解決過哪些問題?我然后就說了還是剛才內(nèi)存宕機的問題。

          追問:如果你感覺你的系統(tǒng)有內(nèi)存溢出,但是不用 jmap 命令做 dump 也不用 JVisualVM,怎么去排查?我答不出來。

          6、做過哪些優(yōu)化,我說了 MySQL 查詢,一個大表用 limit m ,n 優(yōu)化的場景方案;

          7、MySQL 是不是做的集群,怎么保證高可用;

          8、然后給我介紹了他們的系統(tǒng),說進來以后會干什么,感覺有點含糊,具體到哪個組做什么業(yè)務(wù)也沒說,問用哪些技術(shù)棧也回答的很含糊,說什么新系統(tǒng)老系統(tǒng)都有

          (內(nèi)心:技術(shù)管理可能混亂,項目雜不規(guī)范)

          面試心得:

          • 對 hrbp 印象不好。盤查戶口式的問,感覺都是一些官方套話,沒啥實際意義。他又不能決定最終面試結(jié)果;
          • 有可能會通過,有可能通不過,感覺過了也不想去,薪資不行,公積金也低,項目成長也不行。雖然現(xiàn)在一直沒工作,行情也不好,找不到好的;但是也不想去。

          20 馳騖信息(DMP)

          1. 你簡單介紹下自己業(yè)務(wù)模式、工作經(jīng)歷,用過哪些技術(shù)棧;
          2. 你們 git 分支是怎樣做的,上線是怎么操作的;
          3. docker 容器用過嗎,搭建過嗎;
          4. 平時線上怎么排查日志的,直接通過 docker 還是?
          5. 用過哪些微服務(wù)組件;
          6. RabbitMQ 有哪些場景可以用?怎么保證消息不重復(fù)消費?
          7. MySQL 你們怎么優(yōu)化的?
          8. b 樹和 b+ 樹有什么區(qū)別
          9. 聚簇索引和非聚簇索引的區(qū)別
          10. JVM 類加載,雙親委派為什么?

          面試心得:20 分鐘結(jié)束,掛!但是等了兩天又通知線上復(fù)試。

          21 某基金公司 HR 面

          1. 你先自我介紹自己?
          2. 你為什么離職?
          3. 你這些年,在上家公司干這么久,你的成長,在哪里?
          4. 你遇到過最大的困難是什么,怎么解決的?
          5. 你這幾個月空檔期,除了家里有事,還干了什么?
          6. 你期望薪資多少?要了 xxx。
          7. 你還有什么要問我的嗎?

          HR 介紹自己公司待遇。Base*12 + 4 (16 薪),全額五險一金 面試心得:20 分鐘結(jié)束,等通知(后來詢問得知面試掛),應(yīng)該 是面試薪資要高了,一面的時候,面試官就說過這個問題,覺得技術(shù)要求達不到這個階層吧,而且現(xiàn)在大環(huán)境不好,降薪的也很多。

          22 成豐快運(物流)

          1. 簡單自我介紹
          2. 挑一個你熟悉的技術(shù)棧,你認為你哪塊熟悉或者擅長?
          3. 你們的系統(tǒng)有多少用戶,有沒有高并發(fā)場景,怎么解決的?
          4. 你有過哪些性能方案優(yōu)化或者代碼上的優(yōu)化場景嗎?
          5. 你們項目團隊有多大?
          6. 問了期望薪資,我說現(xiàn)在多少,期望年 xxx 左右就行。他說到底是左還是右?我說當然右更好了

          面試心得:20 分鐘結(jié)束,等通知沒戲了。破拉煤物流公司,還玩什么高并發(fā),呵呵噠。

          23 馳騖信息_復(fù)試

          1. Java 異常體系;
          2. 多線程怎么用的;
          3. 過濾器和攔截器的區(qū)別和使用場景;
          4. mysql undolog、redolog、binlog;
          5. git 分支你們怎么管理的,git 命令;
          6. 說一下 Synchronized 和 Lock 的區(qū)別;
          7. MQSQL 索引怎么優(yōu)化;
          8. RabbitMQ 幾種 exchange 方式;
          9. RabbitMQ 怎么做到消息不重復(fù)消費;
          10. linux 替換文件的幾種方式;
          11. 說下查看 jvm 參數(shù);
          12. JVM 命令啟動參數(shù);
          13. docker 和 k8s 有了解過嗎;
          14. Redis 用了哪些數(shù)據(jù)結(jié)構(gòu),場景。BitMap 用過嗎。

          面試心得:50 分鐘。問了期望薪資,我說 xx,估計對面嫌高了,又問能否接受加班,我說短期加班可以,長期 996 吃不消。

          24 某銀行科技子公司

          1. 你們的請求報文是怎么樣的,報文格式、長度?
          2. https 證書怎么加密的, 證書怎么生成的;
          3. SpringCloud 用過哪些組件;
          4. feign 負載均衡;
          5. 分布式事務(wù);
          6. 怎么線上排查問題;
          7. mysql 悲觀鎖 樂觀鎖 怎么實現(xiàn);
          8. mysql 慢查詢,優(yōu)化方式;
          9. 如果系統(tǒng)宕機,你怎么分析,怎么去 dump 文件,解決;
          10. SpringCloud 降級 限流 負載均衡這塊怎么做的;
          11. 還問工作這么久了,帶過團隊沒有。

          面試心得:30 分鐘。找人內(nèi)推的,等待通知;

          25 某小貸公司

          1. 放款對賬出現(xiàn)過哪些問題,什么原因?怎么解決的?
          2. 計息方式有哪幾種?等額本金和等額本息的區(qū)別;
          3. jdk 1.7、1.8 區(qū)別;
          4. io、nio、bio 區(qū)別;
          5. Java 動態(tài)代理怎么實現(xiàn)的;
          6. Spring bean 的作用域;
          7. mybatis 和 Hibernate 區(qū)別;
          8. 前端 xss 攻擊和 csrf 攻擊 怎么預(yù)防;
          9. 有這樣一個場景。比如用戶還款日,最后一天,本來還錢了,然后由于系統(tǒng)原因,代扣接口失敗了。然后第二天,給這個用戶產(chǎn)生了罰息,這種情況應(yīng)該怎么處理?
          10. 我需要生成一個分布式 id,要看到業(yè)務(wù)含義和自增數(shù)量。業(yè)務(wù)這邊需要包含商戶號,每個商戶不一樣,每天的日期需要包含在分布式 id 里面,而且每天有流水千萬, 可能并發(fā)的時候高達幾十萬數(shù)量,怎么去設(shè)計這個分布式 id。

          面試心得:50 分鐘,主要是業(yè)務(wù)問題答的不好。HR 晚上通知掛。

          26 某銀行科技子公司復(fù)試

          1. 你學校是什么?2013 年之前的項目經(jīng)歷是什么?你不寫,怎么根據(jù)你的級別,給你定薪資呢?
          2. 講講你們以前的業(yè)務(wù)模式?放款的錢,怎么確保錢能打給學生,是用于培訓(xùn)的?
          3. 你從 0 到 1 的那個系統(tǒng),是怎么做起來的,那個系統(tǒng),流程中哪些賬戶?
          4. 你認為你的優(yōu)勢在哪里,能給我們公司帶來什么?
          5. 你的微服務(wù)是怎么拆分的?
          6. 你還有什么想問我的嗎?

          面試心得:面試聊了 40 分鐘左右,說薪資只能跟之前持平,不能漲薪這樣子。

          27 某銀行科技子公司

          1. 自我介紹;
          2. volatile 關(guān)鍵字起到什么作用;
          3. MyBatis 平時怎么用的,有哪些好處,List 參數(shù)怎么傳的?
          4. MySQL 優(yōu)化案例;
          5. 你的攝像頭,怎么有點暗呢?
          6. 你三月份離職到現(xiàn)在都沒工作,你是不是有點任性啊?

          面試心得:面試聊了 30 分鐘左右,咨詢內(nèi)推人員,一面通過,等待銀行內(nèi)部員工進行二面復(fù)試。

          28 重慶荊棘鳥軟件

          1. 請自我介紹(上來就是 hr 面,靈魂拷問開始)
          2. 你 2013 年離職原因是什么?
          3. 你覺得你遇到的最大困難是什么,是怎么解決的?
          4. 你之前在工作上經(jīng)常感到有壓力嗎?
          5. 你如果在工作中,跟別人發(fā)生分歧,你該這么做?
          6. 如果產(chǎn)品或者用戶提出來需求做不了,你該怎么辦?
          7. 你跟領(lǐng)導(dǎo)曾經(jīng)有沒有過發(fā)生分歧不同,是否要堅持自己的方案?
          8. 如果有一個分工任務(wù),你的同事不愿意配合完成,他什么都不想做,甚至就是不愿意工作,你應(yīng)該怎么辦?
          9. 如果分給你的開發(fā)任務(wù),你完成了,別人的任務(wù)還沒有完成,你應(yīng)該怎么辦?
          10. 你曾經(jīng)幫助過別人嗎,是否經(jīng)常在小組里面幫助人?
          11. 你們的績效是怎么打的,是否有過被扣績效的情況,為什么?
          12. 你今天有一個需求需要上線,而同時生產(chǎn)出現(xiàn)了一個 bug 你該怎么做,哪個優(yōu)先級高?
          13. 你做過需求分析這塊嗎?
          14. 如果你參與別人的會議,遇到一個自己覺得好的方案,是否會提出來讓別人按照你的去做?
          15. 你覺得你最大的缺點是什么?
          16. 你在生活上或者工作上遇到過最大的挫折是什么?
          17. 你對加班怎么看?(然后介紹了他們公司的一些加班情況)
          18. 問完這些還不夠,后面還發(fā)了一個鏈接,讓做 30 分鐘的性格測試,服!

          下午 17:00 技術(shù)經(jīng)理開始面試:

          1. 說一下 JVM 內(nèi)存結(jié)構(gòu);
          2. 有沒有用過 JNI;
          3. 音視頻這塊東西,做過嗎,對音視頻 SDK 了解嗎?
          4. 內(nèi)存溢出有哪些場景,怎么排查的,怎么解決?
          5. 你們?nèi)罩臼怯玫氖裁矗趺捶旨壌蛴〉模?/section>
          6. 代碼測試這塊用過嗎,代碼測試覆蓋率怎么做的?
          7. 對 http,tcp/ip 熟悉嗎,用過一些抓包工具分析沒有?
          8. UML 類圖畫過嗎?
          9. 我們的音視頻服務(wù),是用的開源的,如果讓你學習一項新技術(shù),你應(yīng)該怎么做?

          面試心得:搞笑 hr,靈魂拷問呢,工資低,加班也不少。

          30 某民營銀行

          1. 自我介紹;
          2. volatile 關(guān)鍵字用處和場景?
          3. 你拆分大文件,思路是什么,代碼還是 linux 拆分,哪個效率高?
          4. 如果要多個文件合并成一個文件,怎么辦,有什么方式提高效率?
          5. 你分表處理幾千萬黑名單數(shù)據(jù),是怎么做的?
          6. 你用過分布式組件嗎?分布式事務(wù) Seata 的 AT 模式有什么問題?
          7. 你系統(tǒng)宕機,當時是怎么分析定位問題的?
          8. linux 怎么會殺掉你的進程,你們系統(tǒng)內(nèi)存多少,JVM 啟動參數(shù)怎么設(shè)置的,為什么申請?zhí)摂M內(nèi)存會超呢?
          9. 如果你的系統(tǒng)是集群的方式,那么定時任務(wù)這塊,怎么保證一個應(yīng)用跑?
          10. 另外一個業(yè)務(wù)面試官,就問了一個業(yè)務(wù)問題:我看你簡歷上寫的賬單、臺賬、還款單據(jù),你能分別解釋一下這三者的含義嗎?
          11. 你三月份離職到現(xiàn)在都沒工作,為什么?

          面試心得:面試聊了 30 分鐘左右,一面通過,說等待一周內(nèi)會進行二面復(fù)試。

          參考答案

          這里就不貼參考答案了,需要參考答案的朋友可以在下面 3 個資料中找到:

          寫在最后

          在沒有同行業(yè)經(jīng)驗的情況下,面試官基本會死磕技術(shù),因為講業(yè)務(wù)他聽不懂。所以建議技術(shù)人在 30 歲以后最好立足于一個行業(yè),不然面試真心太難了。

          ·········  END  ··············

          ?? 歡迎準備 Java 面試以及學習 Java 的同學加入我的知識星球,干貨很多!收費雖然是白菜價,但星球里的內(nèi)容或許比你參加上萬的培訓(xùn)班質(zhì)量還要高。

          ?? 《Java 面試指北》持續(xù)更新完善中!這是一份教你如何更高效地準備面試的小冊,涵蓋常見八股文(系統(tǒng)設(shè)計、常見框架、分布式、高并發(fā) ......)、優(yōu)質(zhì)面經(jīng)等內(nèi)容。

          近期文章精選 :

          ?? 如果本文對你有幫助的話,歡迎 點贊&在看&分享 ,這對我繼續(xù)分享&創(chuàng)作優(yōu)質(zhì)文章非常重要。非常感謝!

          瀏覽 42
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <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>
                  草比91| 毛片毛片毛片多人 | 色秘 乱码一区二区三区在线男奴 | 日本三级片天天干 | 欧美一级片网站 |