作者frouscy (流浪吧。)
看板Soft_Job
標題[心得] agoda senior SWE (data engineering)
時間Sun Apr 16 16:06:01 2017
看到前面有人寫了一篇full stack的心得
我也來寫一篇之前一二月之間
去應徵data platform dept.的scala engineer被洗臉的經驗
把面試被問的題目分享給大家QQ
本人經歷:
研究所唸的是和machine learning相關的
工作經歷大概3.5年
大概算是個介於data science和data engineering之間的角色
主要使用語言是Scala, python和java也略懂略懂這樣
流程上基本差不多:
1. First technical interview - 1hr
很普通的自我介紹
最後開google doc考了一題算binary tree高度的題目
2. mini project
第一個面試完後有一個像是mini project的題目
不難,大概八小時左右完成
主要做一個可以做增刪改查的簡單server (資料in memory儲存,不得倚賴外部資料庫)
據稱是要看系統設計,concurrency的觀念、coding style和測試的撰寫能力
3. Second technical intervew
原本在我把mini projet交出去之後
對方HR跟我說主管會跟我排第二次tech interview
但是大概過了兩天,我就收到HR的信說
主管覺得不需要第二次interview了,直接來曼谷吧XD
所以我沒有經歷這階段
4. onsite 4 x 1hr
data platform dept下面四個部門的分別進來面試
當初因為覺得第二次面試被直接省略
覺得自信滿滿,沒什麼準備就去on-site
結果就被洗臉了orz
以下就直接貼我還記得被問到題目了
- 給定一個RDD of strings, 如何用Apache Spark中得到最高頻的字
- Join在Apache Spark中是怎麼被implement的
- Apache Spark裡的reduceByKey和groupByKey有什麼不一樣
- 用BFS order印出binary tree的nodes,用recursion寫
- Process和Thread有什麼不一樣
- JVM Thread states有哪些
- scala.concurrent.global.Implicits._ 是什麼?
Akka裡面的system.dispatcher又是什麼
- JVM的ThreadPool有哪幾類? 知道ForkJoinPool嗎? 請解釋它是什麼?
- Scala裡面的Future和Promise有什麼不同?
- Akka的message mailbox有用哪些queue做implementation? 為什麼?
- reactive streaming怎麼運作的?
- JVM garbage collector有一些? 請解釋看看CMS和G1的實作
- 說一些你知道關於JVM JIT compiler會做的優化方法
- 如何處理所有的thread都在allocate memory的狀況?
- 請回答下面的code裡面,x可能的最大值和最小值是什麼:
x = 0 # global variable
# thread execution function
def exec():
for _ in xrange(5):
x = x + 1
# main function
def main:
for _ in xrange(5):
# launch 5 threads and run the exec function
Thread.run(exec())
結果:reject
其實這個面試在on site時被問到的東西和我想像中滿不一樣的
問不少滿底層的東西
其實大部份的東西都有看過
但因為面試前沒有特別去準備這個方向的東西所以就沒有回答的很好
最後就被拒絕了
以上 提供給各位參考
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 58.114.207.145
※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1492329963.A.109.html
推 bitcch: 感謝分享面試題目 04/16 16:57
推 ntddt: 感謝分享... 04/16 21:30
推 Uzak: Thanks for sharing~ 04/16 21:40
推 zerof: 04/16 22:13
推 wwwc: 推 04/16 22:29
推 wingture: 04/16 22:37
推 PhoenixSu: 個人覺得考這些問題有點無聊,又不是要寫compiler 04/16 23:41
推 drajan: scala engineer考這些是很正常的吧 04/17 00:00
推 drajan: 考底層:很無聊 考白板題:實戰中用不到 寫project:免費勞工 04/17 00:03
推 bowin: 推 04/17 08:36
推 foxkuo: 請問工作地點? 04/17 11:54
→ frouscy: 曼谷~ 04/17 12:24
推 toole: 最後一題應該跑不起來吧 04/17 12:59
推 cecol: 這些應該都要懂XD 04/17 13:02
推 spiderway: 推好文 04/17 15:58
→ frouscy: 最後一題是pseudo code, 反正大概意思就是跑五個thread 04/17 17:06
→ frouscy: 每個thread都做x = x + 1做五次,可能結果的最大最小值 04/17 17:06
推 Elohim123: 威! 04/17 19:44
→ viper9709: 感謝分享 04/17 22:53
推 aacs0130: 強者,推推 04/17 23:58
推 VisualStudio: 推 04/19 23:35
推 banana13: 好多實作 嚇(強者) 02/21 10:14