一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

8年互聯(lián)網(wǎng)老兵,2個月面試20家大廠的知識點總結(jié)和建議

 夏理yx 2020-03-28

原創(chuàng)敖 丙 最后發(fā)布于2020-03-17 09:26:50 閱讀數(shù) 9424  收藏

本文來自一個8年大數(shù)據(jù)老兵的面試經(jīng)歷投稿,我完完整整的看了一遍,真的很細很細,疫情期間面試各種失敗各種總結(jié),最后拿到Offer實屬不易,精神很值得大家學習

前言

我不是什么大牛,我只是一個有八年工作經(jīng)驗的互聯(lián)網(wǎng)老兵,既沒有非常亮眼的學歷,也沒有牛逼大廠的履歷。

這個冬天,在孩子得病從急診轉(zhuǎn)住院的時候,我得到了年前將被優(yōu)化的消息,作為家里唯一經(jīng)濟來源的我整個人蒙了,一時間茫然和無助差點毀了我。

最后我還是和家人如實說了,受到了他們的極大的鼓勵,也找到了重新開始的勇氣。

可惜這場疫情來的如此兇猛,職位少、要求高、電話面試、視頻面試、在線coding、屢戰(zhàn)屢敗、屢敗屢戰(zhàn),構(gòu)成了我這兩個月的常規(guī)生活。

我一開始也焦慮、茫然,甚至對自己的能力和工作經(jīng)驗深深懷疑。

后來經(jīng)過幾個好朋友的鼓勵打氣,也看了敖丙的很多面試文章,認真總結(jié)自己面試中不足的地方,查漏補缺,終于在這周確定了offer。(這是原話,我真沒瞎加哈哈)

接下來我就我之前面過的騰訊、高德、京東、美團、餓了么、快手、字節(jié)跳動、滴滴、360金融、跟誰學、網(wǎng)聯(lián)清算、華晨寶馬、快看漫畫、陌陌、脈脈等等等公司的面試題做一下總結(jié),權(quán)當拋磚引玉,希望對大家有幫忙。

面試問題匯總

基礎(chǔ)問題

linux和網(wǎng)絡基礎(chǔ)

(1)linux系統(tǒng)內(nèi)核態(tài)和用戶態(tài)是什么,有什么區(qū)別?

(2)BIO、NIO、AIO都是什么,有什么區(qū)別?

(3)TCP和UDP的區(qū)別?

(4)詳細敘述TCP3次握手,TCP和HTTP的區(qū)別,其中字節(jié)面試官問的最細,他會具體問TCP底層的3次握手的具體實現(xiàn)邏輯,第三次握手如果失敗會怎樣。

建議把TCP關(guān)閉時的4次揮手也看看,敖丙的文章就有,看了至少表面的東西難不倒你們,由于這個是最基礎(chǔ)的問題,如果回答不好,面試官的印象分就你懂得。

(5)rpc和http的區(qū)別,你知道有什么rpc框架。

(6)https相對http都實現(xiàn)了什么加密方式,是對稱加密還是非對稱加密?

(7)用linux命令怎么做分組求和,怎么把字符串根據(jù)分隔符變成數(shù)組(這里建議大家讀讀敖丙的linux命令篇)

JVM基礎(chǔ)

(1)簡要介紹一下JVM虛擬機(這個問題不是把JVM分成JMM,類加載和GC來問,一定要想好怎么描述JVM)

(2)簡述一次GC的過程(Minor gc和Major gc過程還記得么)

(3)JMM是什么?

(4)JVM共享內(nèi)存都有什么,什么是堆外內(nèi)存?

(5)GC區(qū)域,垃圾回收算法,垃圾回收器,G1、CMS、ParNew等垃圾回收器的簡介和之間的區(qū)別。

(6)類加載過程(5個過程最好能研究明白,因為還涉及到棧幀、局部表量表、操作數(shù)棧、動態(tài)鏈接和方法出口等知識,去看一下敖丙的文章就明白了)

(7)一個ArrayList的兩個對象的getClass()得到的結(jié)果相同么(理解類加載和Class類類型)

(8)死鎖怎么查問題(-XX:+PrintGCDetails)

(9)Gc日志得會看,尤其問到怎么查OOM問題的時候,你應該知道使用jconsole,jstat,jmap,jvisualvm等的工具來查看gc狀態(tài),看看是不是年輕代設置太小了導致major gc頻繁或者內(nèi)存泄露了。

JAVA基礎(chǔ)和多線程基礎(chǔ)

(1)synchronized在JDK6做了哪些優(yōu)化,synchronized和lock的區(qū)別

(2)懶漢單例用duble check是線程安全的么,為什么要加volatile

(3)Volatile有什么用,什么是CAS

(4)什么是happens before原則

(5)什么是AQS

(6)線程sleep和wait的區(qū)別,線程join是什么意思

(7)Java都有哪幾種鎖(敖丙的文章)

(8)線程池分幾種類型,其中的coreSize、maxSize、存活時間、等待隊列、拒絕策略要清楚

(9)Java樂觀鎖的實現(xiàn)(CAS+自旋)

(10)阻塞隊列的實現(xiàn),至少自己會實現(xiàn)2種阻塞隊列的方法(單鎖,多鎖, ReentrantLock, Condition)

(11)CountDownLatch、CyclicBarrier、Semaphore區(qū)別,使用場景

(12)HashMap是線程安全的么,底層怎么實現(xiàn)的(get,set,resize),JDK1.8之前和之后做了哪些修改,如果要使得插入kv有序需要使用哪種HashMap(LinkedHashMap,TreeMap),ConcurrentHashMap線程安全是怎么實現(xiàn)的(JDK1.8前后實現(xiàn)不同)

(13)ArrayList和LinkedList的區(qū)別,棧和隊列的區(qū)別。Queue和Deque區(qū)別

(14)Netty,Jetty實現(xiàn)原理。

(15)Java 靜態(tài)代理、動態(tài)代理

(16)Forkjoin模型

(17)Java回調(diào)

(18)協(xié)程和線程的區(qū)別

(19)JDK1.8有什么新特性,了解函數(shù)式編程么(不了解的看看guava)

數(shù)據(jù)結(jié)構(gòu)算法和設計模式

(1)設計模式一般引申自項目或者工具底層實現(xiàn),所以需要懂一些比較常見的設計模式,工廠、單例、觀察者、命令、適配器、代理等等

(2)算法主要是查找和排序,所以至少要會手寫主流的排序算法和查找算法

(3)LSM樹是怎么實現(xiàn)的。和mysql的B+樹有什么區(qū)別(LSM樹是hbase和levelDB的底層存儲的結(jié)構(gòu),不懂不應該)

(4)二叉樹,平衡查找二叉樹,紅黑樹等

(5)棧,數(shù)組,鏈表,隊列,雙端隊列,跳躍表(redis zset)等

spring系列

(1)AOP,IOC概念

(2)Spring cloud組件介紹,具體問的比較多的是hytrix和eureka,hytrix主要問怎么實現(xiàn)限流和降級(線程池和信號量),兩種實現(xiàn)方式有什么區(qū)別,具體熔斷時的配置;eureka主要介紹和zookeeper的區(qū)別,以及注冊流程

(3)Spring boot配置很多都注解化了,所以常用的注解要知道

(4)過濾器和Spring攔截器的區(qū)別

消息中間件AMQP

看敖丙的文章就夠了

redis緩存相關(guān)

看敖丙的文章就夠了

(這兩段沒笑死我)

其他類型

(1)單點登錄系統(tǒng)怎么做(SSO系統(tǒng))

(2)為什么選擇cassandra而不是hbase,兩者有什么區(qū)別

大數(shù)據(jù)問題

hadoop

(1)hadoop1.0的進程都有哪些,hdfs和mapreduce簡介

(2)集群初始化的時候namenode都做了哪些工作,fsimage和editslog都是什么

(3)SecondaryNamenode有什么作用。

(4)Hadoop讀文件和寫文件流程

(5)Mapreduce過程簡介(注意這個是基礎(chǔ),不會說拉低印象分),shuffle流程,jobclient提交job的流程等。

(6)Mapreduce怎么進行序列化反序列化的(inputFormat,outputFormat)

(7)Jobtracker都有哪些任務調(diào)度器

(8)Hadoop YARN都做了哪些優(yōu)化,YARN都有哪些進程,YARN提交job的流程

(9)Mapreduce優(yōu)化(mapjoin,combiner,小文件合并等)

(10)簡述hive表join怎么用mapreduce實現(xiàn),mapreduce二次排序,二次排序分區(qū)和分組的區(qū)別

(11)Hadoop集群HA實現(xiàn)(zookeeper實現(xiàn)主備和federation最好都弄懂概念)

(12)其他框架比如spark怎么和yarn集成的

(13)Spark相比mapreduce的優(yōu)化(內(nèi)存計算,RDD等)

(14)給你100億條數(shù)據(jù)的用戶表和一塊100MB內(nèi)存,怎么去重或者判斷一個用戶在不在其中(bitmap,布隆過濾器等)

(15)加分項:讀過hadoop源碼么,具體哪一段源碼介紹一下。

hive

(1) Hive數(shù)據(jù)倉庫的架構(gòu)

(2) Hive怎么把sql轉(zhuǎn)化成mapreduce的(至少知道sql解析器解析成AST語法樹,后面解析成queryblock,進執(zhí)行隊列等等)

(3) Hive基本數(shù)據(jù)類型,組合類型(當時問Hive中的int類型有幾種,蒙了)

(4) Hive底層存儲類型,壓縮格式

(5) Hive UDF,UDTF,UDAF,窗口函數(shù)(row_number, rank,cube,rollup,lag,lead)(一般是跟著sql coding來問的)

(6) Hive優(yōu)化(count(distinct xxx),去除null值,小文件合并,map和reduce個數(shù)優(yōu)化,解決數(shù)據(jù)傾斜)

(7) Hive分區(qū)和分桶的區(qū)別。分桶主要解決什么問題。內(nèi)部表和外部表的區(qū)別。怎么動態(tài)分區(qū)。

(8) Hive怎么自動補全分區(qū)(MSCK命令,這個比較冷僻,知道有這個東西就行了)

(9) HIve列存儲,rcfile和orcfile和parquet怎么存數(shù)據(jù)的

hbase

(1)hbase架構(gòu)簡介

(2)Hbase怎么讀寫數(shù)據(jù)詳細流程

(3)Hbase的應用場景

(4)Hbase優(yōu)化(熱點,預分區(qū),rowKey設計,手動合并等)

(5)Hbase為什么寫快讀慢(LSM樹)

(6)Hbase是cp還是ap架構(gòu)?(CAP理論看懂沒有,hbase是CP的)

(7)Hbase 怎么scan數(shù)據(jù)的。

kafka

為什么kafka放到大數(shù)據(jù)里來說,因為kafka大部分場景下是ETL流程和流式計算流程的source端

(1)kafka架構(gòu)簡介

(2)Kafka為什么快,性能好,吞吐量大(mmap和sendfile了解一下)

(3)Kafka會丟數(shù)據(jù)么,kafka消息有序么

(4)Kafka producer consumer怎么實現(xiàn)at most once和exactly once(冪等計算和事務)

(5)Kafka 高可用怎么實現(xiàn)的(AR,ISR,OSR)。會不會腦裂(不會啊,參照zookeeper選舉)

(6)Kafka leo(log end offset)和hw(high watermark)

(7)Kafka consumer消費topic的某一個partition時,不同group和同group中的消費者有什么不同。

(8)Kafka ack有幾種,每種什么意思

(9)Kafka有什么坑,怎么改進(大腦風暴了)

(10)Kafka相比rabbitMq等傳統(tǒng)消息隊列有什么區(qū)別

zookeeper

(1)zookeeper簡介

(2)Zookeeper節(jié)點類型

(3)Zookeeper watcher機制

(4)Zookeeper使用場景,怎么用zk設計主備高可用,怎么用zk實現(xiàn)分布式鎖(看敖丙文章去,其實就是臨時順序znode的建立和watcher機制的妙用)

(5)Zookeeper選舉機制,會不會腦裂

其他工具

因為我沒有很多spark和flink的項目經(jīng)驗,所以這部分問的較少

(1)介紹一下storm,spark,flink

(2)Spark RDD

(3)Spark stage怎么劃分task的

(4)Spark寬窄依賴

(5)Spark shuffle

(6)Spark 為什么容易OOM

(7)Flink 窗口類型都有哪些

(8)Flink 水位線是什么,要解決什么問題,怎么保證消息有序

(9)Flink 怎么實現(xiàn)exactly once

項目中涉及到的mysql、redis、flume、sqoop、es等工具也會具體問的,這里我就不詳細說了,redis和mysql的可以直接看敖丙的文章就可以了。

數(shù)倉相關(guān)的問題和數(shù)據(jù)分析、算法端的問題

(1)你是怎么設計數(shù)倉的

(2)數(shù)據(jù)倉庫是什么,和數(shù)據(jù)庫有什么區(qū)別

(3)你的數(shù)倉怎么分層的

(4)維度建模的流程,其他類型的建模方式

(5)Inmon模型和KimBall模型有什么區(qū)別

(6)怎么提煉業(yè)務指標

(7)怎么設計事實表和維度表

(8)數(shù)據(jù)立方體的一些概念

(9)什么是緩慢變化維,怎么處理這種緩慢變化維

(10)具體項目中會問到日志或者數(shù)據(jù)是增量存還是全量存,可能會引申到拉鏈表,甚至讓我實現(xiàn)拉鏈表(字節(jié)2面掛就是拉鏈表流程沒有正確寫出來,所以后來干脆自己在mysql上面實現(xiàn)了一把就懂了)

(11)會用python,R語言進行數(shù)據(jù)分析么,會用SPSS,EXCEL,tableau之類的工具么

(12)使用過什么多維查詢引擎(impala,kylin,presto,druid等,如果沒用過別說用過,因為可能面試官很了解的話會問的很細很底層)

(13)MPP的概念,clickhouse之類的工具使用

(14)調(diào)度系統(tǒng)報表系統(tǒng)元數(shù)據(jù)管理系統(tǒng)血緣分析等系統(tǒng)設計,標簽系統(tǒng)設計,AI算法實現(xiàn),用戶畫像設計等

(15)談談對數(shù)據(jù)中臺的理解,要解決什么問題(看你的思考能力和對數(shù)據(jù)部門職能的理解)

(16)談談對數(shù)據(jù)治理的理解

Coding

這里只給大家提供一些遇到過的簡單問題,大家應該掌握基本的查找算法、排序算法,熟練使用遞歸、貪心,能明白動態(tài)規(guī)劃更好。

Leetcode上面的題有空再去刷,因為幾千道題要花費大量的時間,對于需要準備考sql的同學,建議把??途W(wǎng)上面數(shù)據(jù)庫SQL實戰(zhàn)都做一遍,理解了就差不多了。

(1)實現(xiàn)一個函數(shù)把兩個有序的int數(shù)組結(jié)合成新的有序數(shù)組(java,遇到過2次)

(2)給a[n]數(shù)組進行全排序,找到一個組合的前一個組合,比如a[3]{[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]},給出[2,3,1,],找到他的前序是[2,1,3](java)

(3)給定一個正數(shù)數(shù)組arr(即數(shù)組元素全是正數(shù)),找出該數(shù)組中,兩個元素相減的最大值,其中被減數(shù)的下標不小于減數(shù)的下標。即求出: maxValue = max{arr[j]-arr[i] and j >= i} (java)

(4)有8個球,其中有一個比其他7個重。給你一個天平要求2次稱重就把重的那個球找出來。(智力題)

(5)求一個數(shù)組中不存在的最小正整數(shù)(java,這個好像是程序員面試指南里頭的題)

(6)給定用戶登錄表,怎么查連續(xù)3天未登錄的用戶(sql)

(7)給定每天收入明細數(shù)據(jù),怎么查每一天的歷史收入總和(sql)

(8)Hive 表中有重復值,怎么查一共有多少個重復值(hql)

(9)給定注冊表和登錄表,用一個sql求1-7天留存(sql)

(10)實現(xiàn)拉鏈表(hql)

(11)給定電商訂單表,字段為訂單id(order_id)和訂單組合(type_list),求這個訂單組合中每種類型商品的相關(guān)商品TOP10,即求這個商品相關(guān)的商品(下單這個商品的同時也下單其他商品)下單量TOP10(hql,行轉(zhuǎn)列)

(12)給定一個廣告投放表ad,字段有aid(廣告id)和citys(投放城市city_id集合)和城市表city_info,字段有city_id和city_name(城市名稱),求具體城市名稱的投放廣告量TOP10。(hql,行轉(zhuǎn)列)

項目

面試官考察項目經(jīng)驗,考察的其實不僅僅是你基礎(chǔ)的掌握,更多的是自己對業(yè)務的理解,架構(gòu)設計,自己對項目的思考。所以,除了項目中涉及到基礎(chǔ)知識的問題,還會問到諸如你覺得項目中有哪些設計比較好,或者有哪些不合理的地方,你是怎么解決的等方面的問題。

這些問題往大了去可能是架構(gòu)方面的,也可能是具體技術(shù)細節(jié)。但是只要你講出自己的思考和解決方案,有經(jīng)驗的面試官會大概了解到你的技術(shù)深度、架構(gòu)設計能力和解決問題能力的層次。

所以一定要找到有亮點的地方提前進行背書,要有層次的介紹項目,思考一下項目設計或者實現(xiàn)不完善的地方。

還有一些面試官會問到如果讓你設計一個什么什么系統(tǒng),你怎么設計。這種題我覺得也最好提前做過背書。

因為對于工作經(jīng)驗少的同學,面試官主要看他想問題的深度和廣度,但是對于工作經(jīng)驗不少于5年的人來說,面試官更關(guān)注你是否有成熟的實現(xiàn)流程和方法論。

所以一個層次化流程化的設計會極大增加面試官好感度。切記避免廢話連篇核心不明確。(這也是我的問題,因為沒有準備,所以遇到肯定說的很散,這樣面試官覺得你自己做事情沒有核心和方法)

個人價值觀

一般技術(shù)面到后面,面試官都是leader或者是部門老大,他們其實很關(guān)心你的職業(yè)規(guī)劃、對待工作的態(tài)度、團隊合作的能力、自我價值實現(xiàn)方面的思考,當然還有項目實現(xiàn)的能力,過往項目經(jīng)驗和深度。所以最好自己先想想怎么用簡短的話表述清楚。注意圍繞關(guān)鍵詞去說。

寫給看到最后同學的話

這些算是我作為過來人對于應屆畢業(yè)生和剛工作不久的同學的一些小小建議吧。

(1)一定要緊跟技術(shù)前進的腳步,尤其是大數(shù)據(jù)相關(guān)的技術(shù),在技術(shù)更迭的時候一定要學習熟悉新技術(shù),看源碼,哪怕自己在工作中用不到也一定要學。因為這是你下一份工作的敲門磚。

我作為一個老兵,在上一家公司工作4年,公司沒有spark和flink的業(yè)務場景,我也沒有逼迫自己學習這些新技術(shù)。

結(jié)果現(xiàn)在面試碰壁,其實大部分原因就是人家用的主流技術(shù)就是這些,你不會你就被淘汰。

(2)不要給自己設置舒適區(qū),這個就是說,一個公司待久了不要懶惰,不能荒廢自己,始終要保持清醒的頭腦和進取心,不斷學習,不斷完善自己的技術(shù),架構(gòu)設計能力,項目管理能力,交付能力等。

一定要及時從項目中總結(jié)經(jīng)驗和不足,最好落實到日記本中,最后通過不斷思考,形成自己的做事方法論。

(3)對自己的職業(yè)生涯要有一個規(guī)劃,以后要做哪一塊一定要有自己的想法,確定了就要從這個方向完善自己,多學多練。

目前大數(shù)據(jù)這一塊,有數(shù)據(jù)中臺架構(gòu)的公司不是很多,除了算法崗外,大多數(shù)人在團隊中都是1專多能的角色,今天干干ETL,明天搞數(shù)倉,后天又給BI出數(shù)據(jù),可能又搞調(diào)度系統(tǒng)、報表系統(tǒng)、標簽系統(tǒng)、反作弊平臺等平臺。

沒有人會專一做某一塊,但是自己一定要想好哪一塊是自己以后要走的方向,那么這一個方向確定了就要深入的學習這一塊的知識,多看源碼,多做練習,如果接觸到具體項目,要在項目中沉淀自己,最后形成自己的知識體系。

(4)做事情要有擔當,不要根據(jù)OKR給自己設置界限,有能力有空閑多做一定要多做,這也是別人認可你的最佳途徑之一?;ヂ?lián)網(wǎng)圈子很小,大家認可你,以后去大廠,換個好工作,也許就更容易。

敖丙的絮絮叨叨

是的結(jié)尾我還是說一下吧,投稿的讀者是一個互聯(lián)網(wǎng)經(jīng)驗的老兵了,兩個月的高強度面試也讓他有了很多收獲,有一句話我很喜歡,不要給自己設立舒適區(qū),要有危機感,真的就是這樣。

我們寫代碼,真的不要單純的為了生計,單純的覺得這是一個青春飯,我們可以把它當做一個一輩子的事業(yè),30歲以后你轉(zhuǎn)型產(chǎn)品,轉(zhuǎn)型架構(gòu)師,你都是要有code的積淀的,不是說能轉(zhuǎn)就能轉(zhuǎn)的。

一個一生的事業(yè),我想是值得你付出時間去學習的,雞湯就這么多了。

對了,電話面試的那個研究生小哥還記得么,他去了阿里,也恭喜他,也恭喜這個老兵讀者,我實在沒想到我的很多文章確實能幫助到大家這么多,我會繼續(xù)寫的。

我是敖丙,一個在互聯(lián)網(wǎng)茍且偷生的工具人。

最好的關(guān)系是互相成就,各位的「三連」就是丙丙創(chuàng)作的最大動力,我們下期見!

文章持續(xù)更新,可以微信搜索「 三太子敖丙 」第一時間閱讀,回復【資料】【面試】【簡歷】有我準備的一線大廠面試資料和簡歷模板,本文 GitHub https://github.com/JavaFamily 已經(jīng)收錄,有大廠面試完整考點,歡迎Star。

————————————————

版權(quán)聲明:本文為CSDN博主「敖 丙」的原創(chuàng)文章,遵循 CC 4.0 BY 版權(quán)協(xié)議,轉(zhuǎn)載請附上原文出處鏈接及本聲明。

原文鏈接:https://blog.csdn.net/qq_35190492/article/details/104914487

資料來源:網(wǎng)絡搜集、整理

    本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多

    99久久国产亚洲综合精品| 亚洲男女性生活免费视频| 免费黄片视频美女一区| 欧美日韩黑人免费观看| 日本午夜免费福利视频| 久久久精品区二区三区| 91精品蜜臀一区二区三区| 欧美加勒比一区二区三区| 国产精品激情对白一区二区| 老司机精品一区二区三区| 欧美日韩国产欧美日韩| 国产午夜精品在线免费看| 欧美同性视频免费观看| 开心激情网 激情五月天| 亚洲视频在线观看免费中文字幕 | 五月婷婷六月丁香亚洲| 国产一区欧美一区日本道| 欧美老太太性生活大片| 大香伊蕉欧美一区二区三区| 国产一级内射麻豆91| 亚洲中文字幕熟女丝袜久久| 午夜传媒视频免费在线观看| 欧洲日本亚洲一区二区| 激情内射日本一区二区三区 | 久久综合亚洲精品蜜桃| 日韩三极片在线免费播放| 高清亚洲精品中文字幕乱码| 天海翼精品久久中文字幕| 亚洲人午夜精品射精日韩| 欧美日韩亚洲国产精品| 91免费一区二区三区| 一区二区日本一区二区欧美| 国产亚洲视频香蕉一区| 国产内射一级一片内射高清视频| 好骚国产99在线中文| 美女被啪的视频在线观看| 91在线爽的少妇嗷嗷叫| 欧美日韩人妻中文一区二区| 中文字幕亚洲人妻在线视频| 黄片三级免费在线观看| 伊人色综合久久伊人婷婷|