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

          二本材料專(zhuān)業(yè),干過(guò)銷(xiāo)售,當(dāng)過(guò)兵,28歲零基礎(chǔ)轉(zhuǎn)型大數(shù)據(jù)開(kāi)發(fā)進(jìn)百度,很強(qiáng)勢(shì)!

          共 4762字,需瀏覽 10分鐘

           ·

          2021-04-19 15:14

          點(diǎn)擊上方 "大數(shù)據(jù)肌肉猿"關(guān)注, 星標(biāo)一起成長(zhǎng)

          后臺(tái)回復(fù)【加群】,進(jìn)入高質(zhì)量學(xué)習(xí)交流群

          2021年大數(shù)據(jù)肌肉猿公眾號(hào)獎(jiǎng)勵(lì)制度

          今天介紹一位學(xué)習(xí)群同學(xué)的大數(shù)據(jù)轉(zhuǎn)型和面試經(jīng)歷,他是二本材料專(zhuān)業(yè)畢業(yè),畢業(yè)后干了一年銷(xiāo)售,又當(dāng)了兩年兵,退伍后開(kāi)始學(xué)習(xí)大數(shù)據(jù)的內(nèi)容,一開(kāi)始進(jìn)了家小公司,沉淀了一年后拿了轉(zhuǎn)轉(zhuǎn)、作業(yè)幫、百度等年薪40W+的offer。


          部分offer



          一、自身情況


          大家好,可以稱(chēng)呼我為HU,今年 28 了吧,93 年。2015 年 6 月畢業(yè)于一個(gè)普通的二本院校,專(zhuān)業(yè)嘛,俗稱(chēng)就是燒鍋爐的,材料類(lèi)的。對(duì)于計(jì)算機(jī)基礎(chǔ)的學(xué)習(xí),學(xué)校里面,也就僅限于word,ppt,excel 的使用,平時(shí)也就是和大多數(shù)人一樣,逃課,打游戲。唯獨(dú)需要保持的底線,不掛科,英語(yǔ)也比較差,但是還能順利畢業(yè)。


          畢業(yè)后,有不錯(cuò)的朋友說(shuō)了句,去當(dāng)兵吧,當(dāng)時(shí)找了一個(gè)銷(xiāo)售類(lèi)工作,工作了有一年,也覺(jué)得上班沒(méi)啥意思,就索性辭職,一起去當(dāng)兵了。當(dāng)兵之前的信念還是很堅(jiān)定的,是知道會(huì)有些苦,但是心中就一個(gè)想法,別人能吃得苦,我也可以。當(dāng)時(shí)分配的是,山西某單位,屬于是基層野戰(zhàn)陸軍。那條件,是相當(dāng)艱苦,真的是應(yīng)了那句話,當(dāng)完兵,除了生孩子,沒(méi)有不會(huì)的。


          去之前,心中還是有想考取軍官的想法。但是,隨著看到的,感受到的,以及自身的想法,對(duì)于未來(lái)工作的展望,遂,放棄體制內(nèi)工作的想法,兩年順利退役。第一年拿到優(yōu)秀義務(wù)兵,第二年拿到嘉獎(jiǎng),也算是對(duì)得起這兩年的付出。



          二、人生道路的抉擇


          在決定退役后,要考慮自己未來(lái)的路該怎么走。因?yàn)樵诓筷?duì)里的兩年時(shí)間,身邊的同學(xué),基本大都有了穩(wěn)定的工作。放棄體制內(nèi)的選擇,也經(jīng)歷過(guò)大學(xué)銷(xiāo)售的工作,看著家里的房?jī)r(jià),最終權(quán)衡過(guò)后,依靠退役時(shí)給的退役金,19 年 3 月初,自己來(lái)北京,就開(kāi)始了學(xué)習(xí)的道路。


          這里不太方便透露學(xué)習(xí)的機(jī)構(gòu),總之,師傅領(lǐng)進(jìn)門(mén),修行看個(gè)人。半年時(shí)間,無(wú)論是當(dāng)時(shí)自己找視頻,還是問(wèn)老師,最終目的,就是要找到一份能養(yǎng)活自己的工作。



          培訓(xùn)了半年后,到了準(zhǔn)備寫(xiě)簡(jiǎn)歷找工作了,發(fā)現(xiàn)自己知識(shí)儲(chǔ)備還是比較零散,簡(jiǎn)歷都不知如何下手。雖然培訓(xùn)班每天課程滿滿,感覺(jué)很充實(shí)的樣子,但實(shí)際消化進(jìn)去的并不多。機(jī)構(gòu)老師幫我們寫(xiě)好簡(jiǎn)歷之后,投了一些也面了一些,但效果并不理想,畢竟簡(jiǎn)歷內(nèi)容不是完全掌握,而且被問(wèn)的也有點(diǎn)迷。


          也是那時(shí)候在網(wǎng)上搜大數(shù)據(jù)面經(jīng)看到峰哥的公眾號(hào),于是讓他幫忙修改了簡(jiǎn)歷并針對(duì)我的情況做了一些知識(shí)規(guī)劃和調(diào)整,畢竟他也是轉(zhuǎn)行的,指出的一些點(diǎn)還是能命中要害。


          重新開(kāi)始投簡(jiǎn)歷之后,面試的第二家就拿到的offer,定薪17K。入職后一周,由于公司發(fā)展方向的調(diào)整,當(dāng)時(shí)的部門(mén)領(lǐng)導(dǎo),就離職了,好在工作沒(méi)有受到太大影響。



          三、技術(shù)快速積累


          由于,公司規(guī)模不是很大,當(dāng)時(shí)在入職后的第二周,收到的任務(wù)是,寫(xiě)算法,大致需求,是數(shù)據(jù)經(jīng)緯度點(diǎn)集的外輪廓(凹?xì)?計(jì)算。當(dāng)時(shí)的情況,就是,剛從培訓(xùn)班走出來(lái),雖說(shuō)是入職的大數(shù)據(jù)開(kāi)發(fā)的崗位,但是,需求來(lái)了,硬著頭皮也要上。


          經(jīng)過(guò)一周時(shí)間,各方面搜索查找,終于有正確的方向,之后在進(jìn)行測(cè)試、調(diào)整、優(yōu)化,終于算是可以交付,也算是,自己正式轉(zhuǎn)正的安心丸。



          因?yàn)楣緦儆诜腔ヂ?lián)網(wǎng)公司,開(kāi)發(fā)任務(wù)不是很重,峰哥建議我趁著這些時(shí)間好好沉淀沉淀,之后可以找個(gè)機(jī)會(huì)進(jìn)大廠。幫我指導(dǎo)了學(xué)習(xí)方向之后,我就利用業(yè)余時(shí)間,補(bǔ)算法,學(xué)底層,對(duì)于之前一知半解的問(wèn)題,深入學(xué)習(xí),去力扣刷題,夯實(shí)基礎(chǔ),優(yōu)化自己的垃圾代碼,學(xué)習(xí)設(shè)計(jì)模式。


          之后,在業(yè)余時(shí)間,把 spring 框架補(bǔ)起來(lái),到第二年,就可以寫(xiě)一些后臺(tái)接口,能自己獨(dú)立完成一個(gè)小平臺(tái)的大數(shù)據(jù)項(xiàng)目,包括后端查詢,數(shù)據(jù)存取,數(shù)據(jù)分析,數(shù)據(jù)展示。


          因?yàn)槟壳肮具€是 spark 的流處理框架,暫無(wú) flink 的生產(chǎn)經(jīng)驗(yàn),所以,就集中目前手中使用的技術(shù)棧深挖,源碼實(shí)現(xiàn)。



          看過(guò)的書(shū),以及課程:


          - Hbase 原理與實(shí)踐

          - 深入理解 Java 虛擬機(jī):JVM 高級(jí)特性與最佳實(shí)踐(第3版)

          - 深入理解 Kafka:核心設(shè)計(jì)與實(shí)踐原理

          - Redis5 設(shè)計(jì)與源碼分析

          - Mybaties3 源碼深度解析

          - Linux 內(nèi)核設(shè)計(jì)與實(shí)現(xiàn)

          - 極客時(shí)間 Mysql45 講,Java 并發(fā)編程實(shí)戰(zhàn)

          - 算法是,找的左程云的視頻學(xué)習(xí)的

          - Spark 源碼解析,找的 周志壘 老師的視頻


          通過(guò)學(xué)習(xí),快速擴(kuò)充自己的技術(shù)棧深度。



          經(jīng)過(guò)一年的沉淀和積累,想試試好一些的公司,峰哥建議我從小公司開(kāi)始積累一些面試經(jīng)驗(yàn),慢慢向大廠過(guò)渡。剛開(kāi)始拿了一些20,21K的中小公司offer,后面開(kāi)始拿了轉(zhuǎn)轉(zhuǎn)、作業(yè)、大數(shù)據(jù) 25,26K,總包40W+的offer.



          四、面經(jīng)


          #### 百度大數(shù)據(jù)開(kāi)發(fā)(面試,均為現(xiàn)場(chǎng),已 offer)


          #### 一面:(1 個(gè)半小時(shí))


          先是兩道算法,屏幕共享,在 IDE 中編寫(xiě)


          題目:力扣 第 10 題,第 86 題


          1. java 語(yǔ)言特性,封裝繼承多態(tài),的個(gè)人理解

          2. IO 模型

          3. String 的初始化過(guò)程

          4. 多線程 sleep wait synchronized 個(gè)人理解(比較寬泛,把自己能知道的都說(shuō))

          5. JVM 內(nèi)存模型,垃圾回收算法

          6. Hdfs 讀寫(xiě)流程

          7. Hdfs HA,中 NN active 節(jié)點(diǎn)宕機(jī),DN 宕機(jī),過(guò)程中的主備切換,副本復(fù)制,涉及到腦裂

          8. MapReduce 的整個(gè)流程,map shuffle reduce

          9. 詳細(xì)的 shuffle 流程,環(huán)形緩沖區(qū)的,實(shí)現(xiàn)細(xì)節(jié),kv 存儲(chǔ),赤道的概念,以及中間結(jié)果集存儲(chǔ)形式

          10. Redis 持久化方式,優(yōu)缺點(diǎn)

          11. Redis 內(nèi)存淘汰機(jī)制

          12. kafka 從生產(chǎn)到消費(fèi)的數(shù)據(jù)模型

          13. kafka 零拷貝的具體實(shí)現(xiàn),sendfile 指令的整個(gè)過(guò)程,涉及到 DMA

          14. 最后是經(jīng)典的,大文件,統(tǒng)計(jì)頻次,這里最后說(shuō)了一下,可以使用 redis 的 hyperloglog 基數(shù)統(tǒng)計(jì)


          #### 二面(1 小時(shí))


          先是詢問(wèn)項(xiàng)目,講述項(xiàng)目中數(shù)據(jù)流向,自己負(fù)責(zé)的部分,遇到的技術(shù)難點(diǎn),以及解決方案。


          然后是一道算法題,屏幕共享,在 IDE 編寫(xiě),


          題目:力扣 第 54 題


          之后是一道邏輯題


          25 匹馬,5 個(gè)跑道,每次只能跑 5匹,如果用最少的次數(shù)選出最快的 3 匹馬,講述過(guò)程。


          這道題百度有詳細(xì)答案,不細(xì)說(shuō)了。


          #### 三面(1 小時(shí))


          項(xiàng)目架構(gòu),整個(gè)數(shù)據(jù)流向,服務(wù)器配置,從 Nginx 配置,一直到最終 Hbase 存儲(chǔ),全部實(shí)現(xiàn)細(xì)節(jié)。


          并且,屏幕共享,分析了入職時(shí)凹?xì)さ乃惴▽?shí)現(xiàn)過(guò)程,并對(duì)面試官提出的疑問(wèn)進(jìn)行解答。


          #### 四面(1 小時(shí))


          這位面試官,數(shù)據(jù)交叉面,不是大數(shù)據(jù)方向的負(fù)責(zé)人,所以問(wèn)的問(wèn)題,過(guò)得傾向 spring


          1. java 基礎(chǔ)一部分知識(shí),相對(duì)基礎(chǔ)

          2. spring IOC AOP

          3. spring 中循環(huán)依賴的原因,解決方式

          4. spring cloud 組件,以及功能

          5. alibaba-nacos 優(yōu)缺點(diǎn)

          6. 之后是數(shù)據(jù)對(duì)接協(xié)議,這里屬于物聯(lián)網(wǎng)范圍

          7. tcp 的三次握手,四次揮手

          8. 基本的 linux 指令 

          9. 常用的 java 相關(guān)的指令,jstack jmap jps


          最后是一道算法題,屏幕共享,IDE 編寫(xiě)


          題目:力扣第 92 題,第 102 題



          #### 作業(yè)幫大數(shù)據(jù)開(kāi)發(fā)(已 offer)


          #### 一面(1 小時(shí),現(xiàn)場(chǎng))


          1. 講講對(duì) spark 的了解,從 RDD 寬窄依賴,到 shuffle,從 spark wordcount 到整個(gè) spark job on yarn 提交的過(guò)程,再到 spark job 提交的源碼的過(guò)程

          2. 細(xì)問(wèn) shuffle 的實(shí)現(xiàn)過(guò)程

          3. MapReduce 與 spark 的 shuffle 異同

          4. spark sql 的執(zhí)行過(guò)程,如果轉(zhuǎn)換為 job 提交

          5. spark streaming 消費(fèi) kafka 的 offset 提交形式

          6. spark streaming 消費(fèi) kafka 中,對(duì)分區(qū)修改,spakr 做出什么變化,刪除 topic 重建,有什么變化

          7. hive sql 編寫(xiě),開(kāi)窗函數(shù),使用 RDD 和 普通 java 去實(shí)現(xiàn)

          8. Hbase 的讀寫(xiě)流程

          9. Redis 常用的類(lèi)型,以及常用 API

          10. 布隆過(guò)濾器,實(shí)現(xiàn)原理

          11. redis 事務(wù)是否為原子性

          12. redis 多路復(fù)用到 IO 模型的整個(gè)發(fā)展,(read-write,poll,epoll)

          13. 講講項(xiàng)目中自己負(fù)責(zé)部分,具體的數(shù)據(jù)流向,遇到的問(wèn)題,如何解決

          14. 口述 力扣第 239 滑動(dòng)窗口最大值,實(shí)現(xiàn)過(guò)程


          #### 二面(1 小時(shí),現(xiàn)場(chǎng))


          1. 講述項(xiàng)目,數(shù)據(jù)流向,負(fù)責(zé)部分

          2. Hbase 的整體架構(gòu),讀寫(xiě)過(guò)程

          3. 遇到過(guò) Hbase 的 GC 問(wèn)題嗎

          4. Hbase 的 region 的 flush 過(guò)程

          5. Hbase 的 hfile 存儲(chǔ)的 KV 形式

          6. Hbase 的 Hlog 的存儲(chǔ)形式,宕機(jī)恢復(fù)

          7. 這里涉及到一個(gè)滴滴的 Hbase 集群的高可用的主備集群的復(fù)制,Hlog 的回放

          8. spark workcount 讀寫(xiě) hdfs 的整個(gè)流程,細(xì)化到 InputTextFormat OutputTextFormat 中關(guān)鍵的方法,以及 LineRecordReader

          9. 如何修改輸入的分區(qū)數(shù)(這是涉及到一個(gè)切片信息 SplitInfo 的實(shí)現(xiàn))

          10. mysql 日常 sql 編寫(xiě)注意事項(xiàng)

          11. 給定一個(gè) 10 層,每個(gè)節(jié)點(diǎn)有 10 個(gè)子節(jié)點(diǎn)的目錄樹(shù),目錄結(jié)構(gòu)不變,如何設(shè)計(jì) mysql 存儲(chǔ),能夠滿足,大量查詢,給定節(jié)點(diǎn)的全部下級(jí)節(jié)點(diǎn),給出提示,可以參考 linux 的目錄樹(shù)的存儲(chǔ)以及 mysql B+樹(shù)的存儲(chǔ),能夠使用 like 最左匹配。

          12. Redis 源碼中 string 的實(shí)現(xiàn),zset 實(shí)現(xiàn)



          五、總結(jié)


          對(duì)于我這種年齡、學(xué)歷和專(zhuān)業(yè)、以及畢業(yè)后的履歷,可以稱(chēng)的上是一副爛牌。轉(zhuǎn)型之前也想過(guò)會(huì)失敗,但畢竟當(dāng)過(guò)兵,想著失敗大不了從頭再來(lái),還好現(xiàn)在成功了,也走的比較順利。但如峰哥所說(shuō)的:轉(zhuǎn)型找到工作只是起點(diǎn),還得考慮之后的規(guī)劃和發(fā)展,技術(shù)沒(méi)有一勞永逸的,共勉!


          --end--


          掃描下方二維碼
          添加好友,備注【交流
          可私聊交流,也可進(jìn)資源豐富學(xué)習(xí)群


          更文不易,點(diǎn)個(gè)“在看”支持一下??

          瀏覽 15
          點(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>
                  人人妻人人澡 | 精品久久久久中文 | 国产精品国产三级国产 | 免费人成在线 | 成人电影大香蕉 |