據(jù)崗筆試全復(fù)盤:Hadoop生態(tài)、SQL優(yōu)化與備戰(zhàn)策略)
1. 為何銀行系大數(shù)據(jù)崗的筆試值得單獨(dú)復(fù)盤先說背景。2019年秋招我投了招商銀行信用卡中心的大數(shù)據(jù)方向參加的是第二批IT筆試?,F(xiàn)在回頭再看這段經(jīng)歷對后來面其他銀行系、金融系數(shù)據(jù)崗都有很強(qiáng)的參考價(jià)值所以專門寫一篇復(fù)盤把記得的題型、考點(diǎn)和踩過的坑都梳理一遍。銀行系的IT筆試和互聯(lián)網(wǎng)公司完全是兩種畫風(fēng)?;ヂ?lián)網(wǎng)大廠喜歡考算法題LeetCode medium起步當(dāng)場手撕代碼銀行系更看重基礎(chǔ)扎實(shí)、知識面廣、細(xì)心程度。尤其是信用卡中心這種手握海量交易數(shù)據(jù)的部門對大數(shù)據(jù)方向候選人的考察重點(diǎn)不是你會不會寫多難的算法而是你懂不懂?dāng)?shù)據(jù)鏈路、能不能把Hadoop生態(tài)組件講清楚、有沒有基本的數(shù)據(jù)倉庫思維。招行信用卡中心的筆試用的是統(tǒng)一的在線筆試系統(tǒng)第二批和第一批的題不完全一樣但整體結(jié)構(gòu)高度相似。我后來和同批進(jìn)面試的同學(xué)交流過大家反饋一致題量不小時(shí)間偏緊覆蓋范圍很廣從Java基礎(chǔ)到Hadoop源碼原理再到SQL優(yōu)化都有涉及。單從通過率來看筆試環(huán)節(jié)確實(shí)刷掉了相當(dāng)一部分人認(rèn)真準(zhǔn)備和裸考的差距非常明顯。這篇文章我按自己的記憶和后續(xù)沉淀把那次筆試的完整拆解寫出來包括題型結(jié)構(gòu)、高頻考點(diǎn)、答題策略、易錯點(diǎn)復(fù)盤以及給后來者的備戰(zhàn)建議。如果你是準(zhǔn)備投銀行系數(shù)據(jù)崗的應(yīng)屆生或者想了解金融機(jī)構(gòu)大數(shù)據(jù)筆試到底考什么這篇應(yīng)該對你有用。2. 筆試入口與考試形態(tài)開考前的關(guān)鍵信息差2.1 報(bào)名—筆試通知—在線考試的時(shí)間線招行信用卡中心的秋招流程大致是網(wǎng)申、在線筆試、初面、復(fù)面、offer。大數(shù)據(jù)方向?qū)儆贗T條線筆試通知一般提前3到5天發(fā)到郵箱和短信用的是第三方在線筆試平臺需要提前做設(shè)備測試。我印象比較深的一點(diǎn)是筆試通知里會明確寫第二批字樣不同批次的考試時(shí)間錯開題目從題庫中抽取組合所以第二批和第一批的題目會有重合但順序和具體選項(xiàng)都不同。這意味著刷第一批的面經(jīng)有用但不能指望原題??荚囆问绞羌冊诰€、限時(shí)、不可回溯。也就是說選擇題做完了點(diǎn)了下一題就不能回頭改這個(gè)機(jī)制對答題節(jié)奏要求很高。后面我會詳細(xì)講怎么應(yīng)對這種一次性作答的模式。2.2 考試設(shè)備和環(huán)境的坑在線筆試對瀏覽器和網(wǎng)絡(luò)有硬性要求。當(dāng)時(shí)系統(tǒng)要求使用Chrome或Firefox的最新版本IE直接不支持需要關(guān)閉所有彈窗攔截插件考試過程中攝像頭會不定時(shí)抓拍用于防作弊審核。這里有一個(gè)很多人忽略的細(xì)節(jié)手機(jī)熱點(diǎn)和校園網(wǎng)的選擇。校園網(wǎng)在晚上高峰期延遲高、丟包率大萬一中途斷網(wǎng)答題進(jìn)度可能丟失。我當(dāng)時(shí)直接用的手機(jī)熱點(diǎn)加有線網(wǎng)口雙保險(xiǎn)事實(shí)證明這個(gè)決定很值——后面有個(gè)同學(xué)就是校園網(wǎng)波動導(dǎo)致交卷失敗折騰了半小時(shí)才重新進(jìn)入系統(tǒng)心態(tài)直接炸了。2.3 題量、時(shí)長與分?jǐn)?shù)權(quán)重整場筆試時(shí)長是120分鐘題目分四個(gè)模塊計(jì)算機(jī)基礎(chǔ)、大數(shù)據(jù)專項(xiàng)、編程題、性格測試。前三個(gè)模塊計(jì)入技術(shù)分性格測試不計(jì)分但影響后續(xù)面試篩選。具體題量和分值結(jié)構(gòu)如下表所示模塊題型題量建議用時(shí)分值特點(diǎn)計(jì)算機(jī)基礎(chǔ)單選多選20題20分鐘每題分值低但覆蓋廣大數(shù)據(jù)專項(xiàng)單選多選判斷25題35分鐘分值集中多選是拉分關(guān)鍵編程題在線OJ2題45分鐘每題20-30分權(quán)重最大性格測試情景選擇約100題20分鐘不計(jì)分但要注意一致性這個(gè)結(jié)構(gòu)說明一個(gè)事實(shí)編程題雖然只有兩道卻占了將近一半的分?jǐn)?shù)重心。選擇題做得再好編程題掛了也很危險(xiǎn)。后面我詳細(xì)拆解每個(gè)模塊的考點(diǎn)。3. 計(jì)算機(jī)基礎(chǔ)模塊看似送分實(shí)則暗藏殺機(jī)3.1 數(shù)據(jù)結(jié)構(gòu)和算法的高頻考查方式計(jì)算機(jī)基礎(chǔ)模塊的20道題覆蓋數(shù)據(jù)結(jié)構(gòu)、操作系統(tǒng)、計(jì)算機(jī)網(wǎng)絡(luò)、數(shù)據(jù)庫原理。難度不高但考查方式偏概念辨析不是讓你手寫代碼。數(shù)據(jù)結(jié)構(gòu)部分高頻出現(xiàn)的是棧和隊(duì)列的應(yīng)用場景、二叉樹遍歷方式、哈希沖突的解決方法、排序算法的時(shí)間復(fù)雜度對比。我印象最深的是一道關(guān)于穩(wěn)定排序的多選題給了六個(gè)排序算法問哪些是穩(wěn)定的。這個(gè)知識點(diǎn)如果不專門背過很容易漏選或錯選。這里補(bǔ)充一個(gè)備考要點(diǎn)銀行筆試喜歡考概念對比型題目比如數(shù)組和鏈表的區(qū)別、深拷貝和淺拷貝的區(qū)別、進(jìn)程和線程的區(qū)別。這些內(nèi)容在大廠面試?yán)锟赡苤皇菬嵘眍}但在銀行筆試?yán)锞褪钦齼喊私?jīng)的得分題復(fù)習(xí)時(shí)要把基礎(chǔ)教材里區(qū)別與聯(lián)系類型的知識點(diǎn)全部過一遍。3.2 計(jì)算機(jī)網(wǎng)絡(luò)和操作系統(tǒng)的必背知識點(diǎn)計(jì)算機(jī)網(wǎng)絡(luò)部分考了TCP三次握手、HTTP和HTTPS的區(qū)別、DNS解析過程。操作系統(tǒng)部分考了進(jìn)程調(diào)度算法、死鎖的四個(gè)必要條件、虛擬內(nèi)存和分頁機(jī)制。都是考研408的常規(guī)內(nèi)容不偏不怪。但有一個(gè)值得注意的傾向銀行系筆試對安全相關(guān)的知識點(diǎn)格外偏愛。我那次就考了對稱加密和非對稱加密的區(qū)別、數(shù)字證書的作用、SQL注入的原理和防范。這和銀行的業(yè)務(wù)屬性直接相關(guān)金融系統(tǒng)最重視數(shù)據(jù)安全筆試題目往這個(gè)方向傾斜合情合理。操作系統(tǒng)方面Linux基礎(chǔ)命令是必考的。我記得考了chmod權(quán)限數(shù)字的含義、查看進(jìn)程的命令是ps還是top、grep的用法。雖然題目量不大但如果完全沒接觸過Linux這幾分就是白丟的。3.3 數(shù)據(jù)庫原理不是只考SQL數(shù)據(jù)庫模塊的題目比想象中深。除了基本的SQL語句還考了事務(wù)的ACID特性、臟讀和幻讀的區(qū)別、索引失效的場景、范式理論。這些在互聯(lián)網(wǎng)公司筆試中通常歸入SQL題直接上手寫代碼但銀行筆試會用概念題來考考察你對數(shù)據(jù)庫原理的理解是否成體系。我清楚記得一道題給了一個(gè)SQL查詢語句問為什么走了全表掃描而不是索引。選項(xiàng)涉及隱式類型轉(zhuǎn)換、函數(shù)運(yùn)算、最左前綴原則等。這種題就是典型的原理型應(yīng)用光會寫SQL不夠還得知道優(yōu)化器的工作原理。4. 大數(shù)據(jù)專項(xiàng)整場筆試的勝負(fù)手4.1 Hadoop生態(tài)組件考點(diǎn)分布大數(shù)據(jù)專項(xiàng)模塊是區(qū)分度最高的部分也是銀行系大數(shù)據(jù)崗筆試的核心特色。題目圍繞Hadoop生態(tài)展開覆蓋HDFS、MapReduce、YARN、Hive、Spark、Kafka、Flume等組件。從考頻來看HDFS和MapReduce是絕對重點(diǎn)Hive和Spark次之Kafka和Flume屬于錦上添花。我根據(jù)回憶和同期考生的反饋整理了一張考點(diǎn)分布表組件高頻考點(diǎn)考查深度HDFS副本機(jī)制、NameNode和DataNode職責(zé)、讀寫流程原理理解流程描述MapReduceShuffle過程、數(shù)據(jù)傾斜原因、Combiner作用原理理解問題排查YARN資源調(diào)度、ApplicationMaster作用基礎(chǔ)概念Hive內(nèi)外部表區(qū)別、分區(qū)和分桶、SQL轉(zhuǎn)MapReduce概念辨析簡單應(yīng)用SparkRDD特性、寬窄依賴、transformaction和action區(qū)別原理理解Kafka消費(fèi)者組、分區(qū)副本機(jī)制、消息不丟失基礎(chǔ)概念場景應(yīng)用這個(gè)分布說明一個(gè)信號銀行系大數(shù)據(jù)崗不僅要你會用工具更要理解工具背后的原理。尤其是HDFS副本機(jī)制和MapReduce的Shuffle過程幾乎是必考題值得花大功夫死磕。4.2 送分題與深水題的真實(shí)比例25道大數(shù)據(jù)題里大約有8道屬于背了就送分的題目比如HDFS默認(rèn)副本數(shù)是幾、YARN的調(diào)度器有哪些、Hive中刪除表數(shù)據(jù)的命令是什么。這些題只要系統(tǒng)復(fù)習(xí)過Hadoop生態(tài)的基礎(chǔ)知識基本不會失分。真正拉分的是那幾道深水題。我印象最深的一道是關(guān)于Spark寬窄依賴的多選題給了一組RDD操作問哪些會產(chǎn)生寬依賴。題目涉及groupByKey、reduceByKey、join、map、filter。如果只是機(jī)械記憶窄依賴是一個(gè)分區(qū)對應(yīng)一個(gè)分區(qū)遇到j(luò)oin這種要具體分析數(shù)據(jù)分布的操作就容易翻車。還有一道Flume的題也很典型給了一個(gè)數(shù)據(jù)采集場景要求選擇最合適的Channel類型。這題如果沒實(shí)際用過Flume光靠背概念很難做對因?yàn)樾枰斫釳emory Channel和File Channel在吞吐量和可靠性上的取舍。4.3 數(shù)據(jù)倉庫與SQL的金融特色大數(shù)據(jù)專項(xiàng)里還混著一部分?jǐn)?shù)據(jù)倉庫的題目這是銀行系統(tǒng)格外看重的方向。考了維度建模中的星型模型和雪花模型區(qū)別、緩慢變化維的處理方式、ETL流程中的清洗規(guī)則。SQL題目和互聯(lián)網(wǎng)筆試的寫法題不同銀行系偏向出優(yōu)化題和場景題。比如給一個(gè)三表關(guān)聯(lián)的查詢要求分析哪里性能差并給出優(yōu)化方案。這種題沒有標(biāo)準(zhǔn)答案選項(xiàng)里會有多個(gè)優(yōu)化方向比如加索引、用小表驅(qū)動大表、改用廣播變量、拆分SQL等。能全對的都是真正寫過復(fù)雜SQL、踩過性能坑的人。這一模塊給我的核心啟發(fā)是銀行不缺數(shù)據(jù)平臺開發(fā)缺的是懂業(yè)務(wù)又懂?dāng)?shù)據(jù)的人。筆試題目看似在考技術(shù)實(shí)則通過技術(shù)題來篩選有沒有金融數(shù)據(jù)場景的思維。5. 編程題兩道題決定你能否進(jìn)面試5.1 題型復(fù)盤都不難但很考驗(yàn)細(xì)節(jié)兩道編程題一道是純算法題一道是SQL題。算法題接近LeetCode easy到medium之間的難度SQL題是標(biāo)準(zhǔn)的數(shù)據(jù)查詢需求。算法題我印象中是一道關(guān)于字符串處理的題給定一個(gè)字符串找出其中不含重復(fù)字符的最長子串長度。這個(gè)題用滑動窗口可以輕松解出來時(shí)間復(fù)雜度O(n)空間復(fù)雜度O(1)。如果放在大廠筆試?yán)飳儆跓嵘眍}但在銀行筆試?yán)镆呀?jīng)算壓軸了。現(xiàn)在回想這道題能拉開的差距主要不在解法思路而在代碼的完整性。邊界條件、空字符串、全相同字符的字符串這些用例能不能全部通過才是關(guān)鍵。5.2 SQL題的考查風(fēng)格SQL題考查的是分組統(tǒng)計(jì)和條件過濾的組合應(yīng)用大致的場景是有一張交易流水表字段包括卡號、交易日期、交易金額、交易類型要求統(tǒng)計(jì)每張卡在指定日期范圍內(nèi)各交易類型的總金額并且只返回交易次數(shù)大于某閾值的卡號。這種題在銀行實(shí)際業(yè)務(wù)中非常常見信用卡中心每天都要跑類似的報(bào)表。難點(diǎn)在于一是表數(shù)據(jù)量大要寫出高效的SQL二是條件多容易漏掉過濾條件三是結(jié)果排序要求容易忽略。我記得當(dāng)時(shí)的解法思路是先用WHERE過濾日期范圍再用GROUP BY按卡號和交易類型分組用HAVING過濾交易次數(shù)最后ORDER BY排序。這題的坑在于GROUP BY的字段順序和HAVING條件的寫法如果寫成WHERE里過濾聚合結(jié)果在嚴(yán)格的執(zhí)行環(huán)境下直接報(bào)錯。5.3 在線OJ的答題環(huán)境與調(diào)試技巧銀行筆試的在線OJ環(huán)境比LeetCode原始很多。沒有本地IDE那么強(qiáng)大的提示和調(diào)試工具只能在線編寫代碼通過提交測試用例來判斷對錯。代碼編譯報(bào)錯信息也相對簡略定位問題只能靠人工看代碼。我的建議是平時(shí)練習(xí)就養(yǎng)成手寫代碼的習(xí)慣盡量不依賴IDE的自動補(bǔ)全。考試時(shí)先花3分鐘把整體思路用注釋寫在代碼里再逐步實(shí)現(xiàn)。這招在時(shí)間緊張時(shí)特別管用——即使最后代碼沒寫完閱卷人看到清晰的思路注釋也可能給部分分。編程題的答題順序也有講究。先做SQL題再做算法題可能是個(gè)更優(yōu)策略因?yàn)镾QL題思路清晰寫起來快能快速拿下一部分分?jǐn)?shù)算法題即使卡住了SQL那題的分已經(jīng)穩(wěn)了。6. 從筆試到面試這次考試暴露的能力缺口6.1 筆試成績與面試問什么筆試通過后進(jìn)入面試環(huán)節(jié)面試官手里會有筆試成績單但不會直接告訴你考了多少分。不過面試時(shí)會根據(jù)筆試的短板來提問這一點(diǎn)我后來才意識到。我筆試中有幾道MapReduce調(diào)優(yōu)題答得不好面試時(shí)就被追問了數(shù)據(jù)傾斜怎么處理。這就是一個(gè)明顯的信號面試官會針對筆試的失分點(diǎn)做定向深挖看看你是知識點(diǎn)盲區(qū)還是偶然失誤。所以有一個(gè)很實(shí)用的建議筆試結(jié)束后趁記憶還新鮮把拿不準(zhǔn)的題和選項(xiàng)記錄下來。如果進(jìn)了面試提前把這些盲區(qū)補(bǔ)上大概率能押中面試題。6.2 銀行系大數(shù)據(jù)崗的能力模型經(jīng)歷過招行信用卡中心的筆試和面試后我對銀行系大數(shù)據(jù)崗的能力要求有了一個(gè)清晰的認(rèn)知框架能力維度具體要求筆試考查方式大數(shù)據(jù)基礎(chǔ)理解Hadoop生態(tài)核心組件原理概念題場景題數(shù)據(jù)倉庫能力掌握維度建模和ETL思維建模題SQL優(yōu)化題編程能力Java/Scala/Python任選熟練掌握在線OJ編程題金融業(yè)務(wù)理解了解信用卡、交易、風(fēng)控等業(yè)務(wù)場景題中的業(yè)務(wù)背景數(shù)據(jù)安全意識理解數(shù)據(jù)加密、權(quán)限管理計(jì)算機(jī)基礎(chǔ)模塊這個(gè)能力模型值得所有想進(jìn)銀行系數(shù)據(jù)崗的人提前對照自查。和互聯(lián)網(wǎng)公司相比銀行系對業(yè)務(wù)理解和數(shù)據(jù)安全的要求明顯更高這從筆試的題目結(jié)構(gòu)里就能讀出來。6.3 和互聯(lián)網(wǎng)大數(shù)據(jù)崗的差異對照為了讓大家更有體感我用一個(gè)對比表格來說明銀行系和互聯(lián)網(wǎng)系大數(shù)據(jù)崗筆試的核心差異對比維度銀行系大數(shù)據(jù)崗互聯(lián)網(wǎng)大數(shù)據(jù)崗算法難度偏低easy級別偏高medium起步大數(shù)據(jù)原理比重高直接考原理中偏向?qū)嶋H應(yīng)用SQL要求高重視優(yōu)化與建模中重視復(fù)雜查詢業(yè)務(wù)場景金融業(yè)務(wù)為核心業(yè)務(wù)多樣性高數(shù)據(jù)安全要求極高中操作系統(tǒng)/網(wǎng)絡(luò)考得細(xì)考得淺當(dāng)然這只是2019年那批筆試的感受現(xiàn)在各家銀行都在數(shù)字化轉(zhuǎn)型題目難度和形式也在升級。但核心方向應(yīng)該沒變銀行要的是穩(wěn)、準(zhǔn)、懂業(yè)務(wù)的數(shù)據(jù)工程師不是追求炫技的算法高手。7. 大數(shù)據(jù)方向筆試備戰(zhàn)清單照著準(zhǔn)備不會錯7.1 Hadoop生態(tài)知識樹如果你準(zhǔn)備參加銀行系大數(shù)據(jù)崗的筆試下面這份知識清單是必須全部吃透的HDFS架構(gòu)NameNode和DataNode的職責(zé)、SecondaryNameNode的工作機(jī)制、副本放置策略、讀寫流程MapReduce原理Job提交流程、Mapper和Reducer的執(zhí)行邏輯、Shuffle和Sort的詳細(xì)過程、Combiner和Partitioner的作用YARN資源調(diào)度ResourceManager和NodeManager的職責(zé)、調(diào)度器類型和區(qū)別Hive數(shù)據(jù)倉庫內(nèi)外部表的區(qū)別、分區(qū)表和分桶表的適用場景、Hive SQL和傳統(tǒng)SQL的區(qū)別Spark核心RDD的五大特性、transformaction和action的區(qū)別、寬窄依賴的判斷標(biāo)準(zhǔn)、Spark SQL的基本用法Kafka消息隊(duì)列Producer和Consumer的工作原理、分區(qū)和副本機(jī)制、消息投遞語義這些內(nèi)容不是簡單背概念就夠要能用自己的話講清楚為什么這么設(shè)計(jì)。比如HDFS為什么默認(rèn)副本數(shù)是3很多人只記住答案是3但真正理解的人會說一個(gè)副本存在本地機(jī)架一個(gè)副本存在同機(jī)架不同節(jié)點(diǎn)一個(gè)副本存在不同機(jī)架這樣既保證了容錯性又兼顧了寫入效率和讀取的本地性。7.2 SQL專項(xiàng)訓(xùn)練方法銀行系筆試的SQL題雖然難度不高但對細(xì)節(jié)要求苛刻。建議按以下梯度訓(xùn)練第一步把窗口函數(shù)的常見用法全部過一遍包括ROW_NUMBER、RANK、DENSE_RANK、LAG、LEAD以及SUM和AVG配合OVER子句的開窗用法。第二步練習(xí)多表關(guān)聯(lián)的查詢優(yōu)化。重點(diǎn)理解INNER JOIN、LEFT JOIN、RIGHT JOIN的數(shù)據(jù)返回邏輯搞懂ON和WHERE的執(zhí)行順序差異。第三步做場景化的業(yè)務(wù)題比如用戶留存分析、交易金額分布統(tǒng)計(jì)、異常交易識別。這類題目在銀行筆試中出現(xiàn)頻率極高提前練習(xí)能節(jié)省大量考試時(shí)的思考時(shí)間。7.3 Java基礎(chǔ)的復(fù)習(xí)優(yōu)先級銀行系大數(shù)據(jù)崗的編程語言以Java為主筆試選擇題中也會涉及Java基礎(chǔ)知識。我那次考了Java的內(nèi)存區(qū)域劃分、垃圾回收算法、HashMap的實(shí)現(xiàn)原理、線程池的參數(shù)含義。這里提醒一個(gè)容易忽略的點(diǎn)集合類的源碼原理幾乎是必考。HashMap的put流程、ConcurrentHashMap的鎖機(jī)制、ArrayList和LinkedList的區(qū)別這些內(nèi)容雖然老生常談但在銀行筆試?yán)锞褪歉哳l考點(diǎn)。建議把HashMap的源碼完整讀一遍尤其是1.8版本的紅黑樹優(yōu)化部分。7.4 多選題的得分策略銀行系筆試的多選題是失分重災(zāi)區(qū)因?yàn)樗挠?jì)分規(guī)則是全部選對才得分多選、少選、錯選都不得分。這和部分考試少選得部分分的規(guī)則不同容錯率極低。應(yīng)對策略是遇到不確定的選項(xiàng)寧可少選也不要多選不在這個(gè)規(guī)則下少選同樣零分。所以正確策略變?yōu)橄劝延惺惆盐盏倪x項(xiàng)選上對拿不準(zhǔn)的選項(xiàng)做理性分析如果完全沒概念就根據(jù)選項(xiàng)之間的邏輯關(guān)系推測。比如四個(gè)選項(xiàng)里如果兩個(gè)明顯同質(zhì)往往要么都對要么都錯。我當(dāng)時(shí)就在一道關(guān)于Hadoop調(diào)優(yōu)的多選題上吃了一個(gè)大虧五選三的題明明排除了一個(gè)錯誤選項(xiàng)結(jié)果在剩下四個(gè)里選三個(gè)時(shí)還是漏掉了一個(gè)應(yīng)該選的。這種丟分是最可惜的。8. 實(shí)操中沉淀下來的答題節(jié)奏與心態(tài)管理8.1 120分鐘的時(shí)間分配實(shí)戰(zhàn)方案前面提到過各模塊的建議用時(shí)這里說一下我實(shí)際執(zhí)行時(shí)的時(shí)間分配和調(diào)整邏輯。我的策略是考試開始后直接用3分鐘快速瀏覽一遍所有題目對整體難度和題量建立認(rèn)知。這樣做的好處是如果發(fā)現(xiàn)大數(shù)據(jù)專項(xiàng)里有好幾道完全不會的題可以提前調(diào)整策略把時(shí)間讓給編程題。瀏覽完題目后按計(jì)算機(jī)基礎(chǔ) → 大數(shù)據(jù)專項(xiàng) → 編程題 → 性格測試的順序作答。計(jì)算機(jī)基礎(chǔ)模塊題干短、判斷快先做能快速建立信心大數(shù)據(jù)專項(xiàng)雖然重要但部分題目需要深思不要戀戰(zhàn)編程題留足45分鐘。這里特別提醒一定不要在前面的選擇題上花太多時(shí)間。我見過很多同學(xué)在單選上反復(fù)猶豫改答案結(jié)果編程題來不及寫這是最虧的丟分方式。在線筆試系統(tǒng)不允許回溯每一題都是第一感覺最準(zhǔn)除非有明確的把握否則不要改答案。8.2 在線筆試系統(tǒng)的三個(gè)隱性規(guī)則在線筆試系統(tǒng)有幾個(gè)隱性規(guī)則官方不會明說但會直接影響成績第一攝像頭抓拍是隨機(jī)頻率??荚囅到y(tǒng)會在做題過程中不定期抓拍用于事后審核是否存在替考行為。所以考試過程中不要離開座位太久也不要頻繁低頭看手機(jī)避免被誤判。第二切屏次數(shù)會被記錄。如果考試中切出瀏覽器查看其他內(nèi)容系統(tǒng)會記錄切屏次數(shù)超過一定次數(shù)直接判違規(guī)。我在考試時(shí)全程沒有切換過窗口連系統(tǒng)彈窗都提前設(shè)置了攔截規(guī)則。第三編程題的判分方式是分測試點(diǎn)給分。也就是說你的代碼通過了幾個(gè)測試用例就得幾分不是只有全對或零分兩種結(jié)果。所以即使代碼不完美也要提交一版能通過基礎(chǔ)用例的版本盡量多拿測試點(diǎn)的分。8.3 心態(tài)管理的務(wù)實(shí)建議銀行系筆試的通過率不低但正因?yàn)檫@樣很多準(zhǔn)備不充分的人抱著碰碰運(yùn)氣的心態(tài)去考結(jié)果自然不理想。我的體會是把它當(dāng)成一次正式的技術(shù)面試來準(zhǔn)備而不是試試看??记耙粋€(gè)星期開始按照考試時(shí)間做整套模擬題嚴(yán)格控時(shí)訓(xùn)練自己在時(shí)間壓力下的做題節(jié)奏。模擬時(shí)不要用IDE寫代碼直接用在線OJ或者記事本加編譯環(huán)境模擬真實(shí)的考試手感??荚嚠?dāng)天提前30分鐘進(jìn)入考試系統(tǒng)完成設(shè)備檢測和人臉驗(yàn)證。如果遇到系統(tǒng)異常第一時(shí)間截圖保存然后聯(lián)系在線客服。這些異常情況在銀行筆試中并不少見及時(shí)處理不會影響成績但如果慌了神后面的作答質(zhì)量就會直線下降。8.4 筆試結(jié)束后的復(fù)盤動作筆試結(jié)束后不要立刻把題目拋到腦后。趁記憶還清晰把所有能回憶起來的題寫下來尤其是那些做錯的、拿不準(zhǔn)的。這個(gè)習(xí)慣幫了我大忙——后來面試時(shí)的追問環(huán)節(jié)面試官問的幾個(gè)問題恰好是我筆試后復(fù)盤時(shí)補(bǔ)上的知識盲區(qū)。復(fù)盤的方法建議用表格記錄明確四個(gè)字段題目回顧、考查知識點(diǎn)、你的答案、正確答案及解析。這樣整理出來的錯題本比臨時(shí)翻書高效得多。如果你的目標(biāo)不止一家銀行這個(gè)錯題本可以直接復(fù)用因?yàn)楦縻y行的出題邏輯高度相似。9. 如果你也是下一批考生最后的幾點(diǎn)體己話從投遞簡歷到最終拿到offer招行信用卡中心這一輪秋招讓我對銀行系大數(shù)據(jù)崗到底要什么人有了非常具體的認(rèn)知。它不像互聯(lián)網(wǎng)大廠那樣追求技術(shù)的極致深度但要求你在大數(shù)據(jù)生態(tài)的廣度上足夠扎實(shí)在工程實(shí)踐上足夠細(xì)心。如果你正在準(zhǔn)備類似的筆試我的核心建議只有三條第一把Hadoop生態(tài)的每一個(gè)核心組件的原理都吃透達(dá)到能講清楚為什么這樣設(shè)計(jì)的程度第二SQL是銀行系筆試的隱藏權(quán)重項(xiàng)窗口函數(shù)和多表關(guān)聯(lián)優(yōu)化務(wù)必熟練第三在線筆試的答題節(jié)奏需要提前刻意訓(xùn)練不要用平時(shí)刷題的舒適節(jié)奏去應(yīng)對限時(shí)考試。還有一點(diǎn)想單獨(dú)提一下就是信息差的問題。銀行系筆試有一套相對固定的出題風(fēng)格和考點(diǎn)體系這些東西在公開面經(jīng)里散落各處但沒有一個(gè)系統(tǒng)的匯總。如果你能找到同校、同屆、投遞同崗位的同學(xué)組隊(duì)交流互相補(bǔ)充回憶筆試題目效果會比自己埋頭復(fù)習(xí)好很多。我當(dāng)時(shí)就是靠和幾個(gè)同學(xué)對題才把大數(shù)據(jù)專項(xiàng)模塊的考點(diǎn)拼湊出了完整的圖譜。這篇復(fù)盤寫到這里核心內(nèi)容差不多都覆蓋了。2019年的題目在技術(shù)上不算新但銀行系筆試的出題邏輯和考察思路至今仍有很強(qiáng)的參考性。準(zhǔn)備銀行系數(shù)據(jù)崗的同學(xué)與其漫無目的地刷題不如按這篇文章梳理的維度系統(tǒng)過一遍把精力花在最容易得分的地方。祝你們順利。