我所经历的字节跳动面试
面談時間2020-8-23,
面試時間下午5:30~6:20,
牛客網視頻面談
投了Python數據挖掘,然后上來就讓面Java后端。
獵頭說不用考leetcode題,但是其實是需要考的。
我跟面試官說獵頭說不用考這種東西啊,面試官說:那看來你的那個獵頭業務水平不行啊。
?
?
問了獵頭,為什么讓面Java后端,我投的數據挖掘啊。
獵頭的回答是猜測可能是覺得你數據挖掘審核不通過,所以給你轉Java后端了。
我滿臉懵逼,kaggle銀牌和各種python前后端全棧項目還不夠么。
80%都是Python的簡歷,居然簡歷被審核通過去面Java后端了。
最后獵頭和字節的HR全部聯系不上了。
既然你們都聯系不上了那我就寫出來吧。
?
字節跳動面試分為四個部分:
①面試官自我介紹和崗位介紹,
②我的自我介紹,
③面試官根據你履歷提問
④基本的算法題(leetcode easy級別)
--------------------------------------------------------------------------------------------------------------
面試官自我介紹和崗位介紹
這個面試官大概提供了這么個信息,
字節跳動(北京)負責優化大數據底層。
字節跳動(上海)負責上層應用。
打算搞一個類似于阿里的dataworks的數據中臺,阿里的有點跟風databricks。
所以我就提了的釘釘里面的zeppelin,面試官對這個好像沒啥反應。
扯白了,字節跳動現在也想跟風databricks,讓用戶在線提交大數據任務和交互監控。
另外,面試官都是臨時看你的簡歷,
比如我寫了Hadoop(非HA),他會問你hadoop的HA
我寫了數據倉庫開發還沒做完,他會問你數倉怎么設計的。
--------------------------------------------------------------------------------------------------------------
自我介紹
把自己的項目說一遍。
--------------------------------------------------------------------------------------------------------------
面試官提問
面試官基本挑自己擅長的問,你簡歷里他不懂的,即使你主動說他也會直接承認不懂然后強行跳過去。
例如我說我介紹下做的機器學習項目吧(底層的,非調包),他說他不懂機器學習算法,然后就強行問下一個了。
所以說,把簡歷交到懂你的人手上真的很重要,否則就是流水化檢查你這個螺絲釘了。
?
字節跳動(上海)的大數據開發,還是偏Java的,
你不要指望用你手里的Scala能派上用場,可以說國內的大數據開發依然對scala不待見。
--------------------------------------------------------大概問了下面這些-----------------------------------------------------------------------------------
Spark提交方式和原理(我直接說不關注,我就是應用)
spark on yarn作用和原理(我直接說yarn就是管理spark需要的資源的,資源不夠的時候,去yarn的資源界面看下queue里面的資源就好了,yarn原理不知道,我不關注這些)
Spark的yarn client和yarn cluster的區別。(我說我不記得了。我心想要是記住那么多東西,我還寫博客干嘛?不就是因為記不住么?連Spark數據傾斜處理都沒問,我也是覺得很奇怪.)
HA是什么(zookeeper和hbase的HA的配置我講了下,以及HA的工作效果)然后他問為什么zookeeper原理上講有這個效果?
我回答說不知道,不看這些東西,對工作沒有幫助。)
進程線程協程區別(我回答說,core負責進程,進程下面多個線程,線程輪流跑,高并發必須用協程,網上的高并發資料寫法有誤,網上的高并發一般指的是并行和并發,并行技術通過多個core實現,并發技術通過IO異步實現)
問了mysql的B+樹,以及mysql優化等(直接答explain sql,然后沒有走主索引和二級索引的查資料來優化sql)。
Java線程安全(我回答說沒有關注這個,讀寫方面的安全問題,我只關注了sql的原子性,寫入失敗會回滾,我當時心想Python里面這種東西new_loop.call_soon_threadsafe不都是封裝好的么?你問這些直接調用的東西想干嘛)
3A 認證(常說的三次握手,其實就是Oauth2,我直接說了Django有這個插件,直接調用就好了,講人話就是你是怎么做登錄注冊驗證之類的東西的)
?
算法題
一開始我推脫說我只會用java寫spark和flink,其他都沒準備過。
然后他出題了:
1->2->2->3->3->4->5然后要求輸出1->4->5
我說只會用python dict或者hashmap來處理,然后他說hashmap這個會打亂順序。
hashmap在面試前我確實沒有按順序輸出過,
然后我要求更換語言,他說可以。
我說我印象里dict是可以按順序輸出的,這個代碼肯定可以在網上找到,他回想了一下說好像是可以。
然后問這個原理是什么?我說不知道,能出結果就行。
最后還是要求從鏈表處理,我說工作中不用鏈表,不記得了,只記得head和tail,tail中存下一個節點的head。
這個部分,如果你說沒準備過這類東西,面試官會強行要求和你一起分析,這樣可以把面試時間撐完。
總結
以上是生活随笔為你收集整理的我所经历的字节跳动面试的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 运动健康如何退出账号
- 下一篇: 6000杯双王子卡组