群暉面試心得 - 面試

Table of Contents

小弟現在在當替代役預計2月初退伍, 所以最近開始面試工作, 面試過了幾家公司覺得

群暉的面試經驗滿不錯的, 趁還沒忘記上來分享給大家.

先講結論:第四關被打槍

背景

小弟113學+114碩博, 研究領域是Text indexing/Compressive sensing/Scheduling

面試第一關

1. 用白板實做出linked list的reverse

過程: [很普通的reverse]

2. 如果今天是要2個node作反轉該怎麼做? ex: 3->4->5->6->7 變成 4->3->6->5->7

解法: recursion, 先把node#1跟node#2交換, 再讓node#1->next指向下一個

recursion call的回傳值

e.g. 3->next = recursion(4->next)

3. 如果今天要推廣到k個node作反轉該怎麼做?

解法: 一開始我說就多加一個counter來計算目前反轉了幾個node, 然後把這個

counter當作call recursion的條件 e.g. if (counter == k) recur()

不過面試官有說這樣會有問題, 因為當linked-list長度不是k的倍數

的時候不應該把不滿k的作反轉

e.g. (k=3) 1-2-3-4-5 => 3-2-1-4-5 不該是 3-2-1-5-4

我就改成先做traverse, 等確定夠的話再轉


面試第二關

1. 給一個N*M的Matrix, 特性是每個row從左到右是排序過的, 每個column從

上到下也是排序過的

e.g.

─────→
│┌─┬─┬─┐
││1 │2 │3 │
│├─┼─┼─┤
││4 │5 │6 │
│├─┼─┼─┤
││7 │8 │9 │
↓└─┴─┴─┘

要怎麼作search?

解法: 一開始想不到甚麼好方法就先提出N個binary search的方法, 時間是

O(NlogM), 面試官就請我實作出binary search. 實做完再想了一陣子,

有想出O(N+M)的解法, 方法就是每次都比右上角的那個數字,

根據比的結果可以刪掉一個row或是column

e.g. key=5

┌─┬─┬─┐
│1 │2 │3<5
├─┼─┼─┤ ┌─┬─┬─┐
│4 │5 │6 │ => │4 │5 │6 │
├─┼─┼─┤ ├─┼─┼─┤
│7 │8 │9 │ │7 │8 │9 │
└─┴─┴─┘ └─┴─┴─┘


e.g. key=2

┌─┬─┬─┐ ┌─┬─┐
│1 │2 │3>2 │1 │2 │
├─┼─┼─┤ ├─┼─┤
│4 │5 │6 │ => │4 │5 │
├─┼─┼─┤ ├─┼─┤
│7 │8 │9 │ │7 │8 │
└─┴─┴─┘ └─┴─┘

2. process/thread的比較, TCP/UDP的差別, multi-thread programming

過程: 這部分我沒講好, 想到甚麼就說甚麼, 不過網路部分我很多都答不出來,

像是為甚麼youtube可以傳資料傳那麼順之類的

面試第三關

1. 給一個字串, 將單字順序反轉

解法: 一開始沒想到好做法, 就用loop從頭開始掃, 然後複製到尾巴那邊,

不過這邊寫白板一直鬼打牆在處理boundary的問題, 後來直接重新弄一個

方法先把整個字串反轉再分別把個別的單字轉回來

2. 給一串數字, 如何判斷有沒有某個數字的出現頻率超過50%

過程: 一開始我說如果空間不限那就開一個很大很大的vector, 不過面試官說

當然不行XD 後來我就說最簡單的方法就是排序後再從頭找, 也可以用hash

不過worst case就無法保證linear time. 接下來面試官又問, 那如果

排序好的話呢? 我就說那就直接看中間那個數字.

最後的問題是如果已經確定有一個數字超過50%, 不過未排序, 有沒有

辦法找出來? 我一開始說用linear time select找中位數, 時間是

O(n), 不過面試官好像不滿意, 他給的提示是如果有某個數字a過半,

那如果我們把a跟其他另外的數字一對一的配對, 那最後一定會剩下a,

我的解法就是從這串數字的頭開始跑, 碰到兩個不一樣的就刪掉,

碰到一樣的就繼續往下比

e.g. 1 2 2 1 1 => 1 2 2 1 1 (紅色表示已經刪掉)

=> 1 2 2 1 1

e.g. 2 2 1 1 1 => 2 2 1 1 1

=> 2 2 1 1 1

大概是這樣, 實作時有用到stack


第四關就看到HR進來XD

HR滿可愛的, 一臉抱歉的樣子XD



這次總面試時間4.5hr, 中間其實等待時間滿久的, 不過面試的感覺不錯,

很可惜沒拿到offer, 不然感覺在這個公司工作coding應該會進步神速


--
jacktypetlan: 我以前都叫我媽折紙尖爪給我XDDD可惜我媽現在已經 10/22 20:00
stv4268: 樓上拍拍 10/22 20:01
jacktypetlan: 不想折給我了...他說那很白痴10/22 20:01

--

All Comments

Thomas avatarThomas2017-01-14
我以前都叫我媽折紙尖爪給我XDDD可惜我媽現在已經
Susan avatarSusan2017-01-16
樓上拍拍
Rebecca avatarRebecca2017-01-21
不想折給我了...他說那很白痴
Una avatarUna2017-01-23
哇 這麼多關 好可惜
Margaret avatarMargaret2017-01-23
4.5hr好狂 感謝分享
Kumar avatarKumar2017-01-27
聽在裡面的講現在已經越來越鳥了...
Regina avatarRegina2017-02-01
樓上的愈來愈鳥指的是待遇嗎?
Carol avatarCarol2017-02-06
好像沒外傳的多了
Jake avatarJake2017-02-06
問的這麼繁瑣面得這麼複雜待遇不知道比不比的過GG
Bennie avatarBennie2017-02-11
屌...
Gilbert avatarGilbert2017-02-13
Leetcode easy等級題目 群輝其實並沒有各位想像中難
Liam avatarLiam2017-02-15
OS跟Leetcode easy搭配Medium的樹練習就差不多
Gary avatarGary2017-02-16
雖然是easy, 不過要寫白版其實也是蠻頭疼的
Callum avatarCallum2017-02-17
如果不熟其中的想法 還有熟悉語言特性的話
臨場就寫不出來 通常刷個兩輪 掌握好一個語言
Isla avatarIsla2017-02-18
確定自己寫過的題目都能閉眼想出來就差不多
Quanna avatarQuanna2017-02-21
我面的時候還被問了LRU Cache 臨場反應 也很重要
Susan avatarSusan2017-02-25
想去上層就會被問到較多軟體設計情境題
反之的話就是OS或CA會再被更深入的挖掘
Rachel avatarRachel2017-03-02
第二個方法有到O(n+m)?
Odelette avatarOdelette2017-03-05
好慘 沒內推的結果
Rachel avatarRachel2017-03-10
PTT PO文技術高超
Candice avatarCandice2017-03-15
屌在4.5hrs跟你搞了一堆白板 雖然我遇過6hrs的
Doris avatarDoris2017-03-20
FLG的面試手法 台灣等級的待遇 是這樣嗎?
Robert avatarRobert2017-03-21
有包括 因為一次面兩個事業群 總共七八個人吧
Madame avatarMadame2017-03-25
Lauren avatarLauren2017-03-29
我面漢文也要5hr
漢翔
Sierra Rose avatarSierra Rose2017-04-02
面那麼久不上 浪費大家時間
Doris avatarDoris2017-04-03
你有沒有熟練的工具或框架啊
Victoria avatarVictoria2017-04-07
leetcode easy 等級的題目 +1
Ophelia avatarOphelia2017-04-09
所以被刷掉的原因到底是啥
Steve avatarSteve2017-04-11
第三關也是lc 題 可以做到空間O(1)
Skylar Davis avatarSkylar Davis2017-04-15
這間已經沒什麼好期待的了 沒上也不用太難過 底薪低
分紅也不如從前 加班費也捨不得給
Bennie avatarBennie2017-04-15
聽起來摳門程度跟對手那家有得比