Intern面試的考題(CS) - 面試

Sierra Rose avatar
By Sierra Rose
at 2011-01-12T09:08

Table of Contents

※ [本文轉錄自 studyabroad 看板 #1DBFT-Dh ]

作者: chucheng (CHUCHU) 看板: studyabroad
標題: [閒聊] Intern面試的考題(CS)
時間: Wed Jan 12 08:36:11 2011



我後來重新確認了問題,把一些人來信問我的內容更新如下
其實原考題和我陳述的有一點不同(So Sorry) 以下黃色是更新
(Sorry, 我沒把問題搞清楚就Po了,原來是買航線不是買機票…)

這是我朋友遇到…面試的考題…

美國某家 超大 軟體公司…
他不問還好,一問了…愈想愈頭痛,不想出答案不行…(怒)

所以發來版上給大家一起想想(面試已結束)

以下給CS(Computer Science)的人服用,其它科系請左轉離開(或是看有趣也行)


一開始是先簡單問一下知不知道什麼是Travelling Salesman Problem...
這裡:http://en.wikipedia.org/wiki/Travelling_salesman_problem

這個問題已經都知道是NP-HARD,所以基本上就是確定一下你修過演算法(我猜)

接下來面試官說…

我們把問題簡化一點

假設某國家有n個城市
彼此之間飛機互連(但是機票價格不一定)
為了複雜問題,A飛B,和B飛A的價格是不一樣的

到這裡,他和我都猜測…可以想像成一個Graph,
假設G好了,其中節點為V,連結為E
則G(V,E)是一個有向圖(每個E有權重,代表飛機票的價格)

第一個問題(我們有想出來了)
就是給定一個起點,問你飛到終點(可能需要轉機),最便宜的總價是多少
考官要求答案一定要正確(最佳解),然後程式的時間/空間複雜度愈佳 愈好

最笨的解法就是把所有可能的路線都列出來
當然修過AI的我,就想起A* Search...
我的同學很緊張時,是回答用BFS(Breadth-First Search)
考官當然問他有沒更好的解法…所以我猜他在這已經陣亡了…

接下來就是…implement …(時間流逝)

考官結束前,順口講了,叫他回去想一想(丟了另一個"問題")
(我們一致認為這個就是考官要問的第二個問題,只不過因為該受測者提早陣亡XD)
這個問題就難倒好幾個同學了(包含我)

----正文開始----

考官說,如果 你要開始經營一間航空公司
因此,客人來自四面八方
故:
(1) 起點不知道(每個點都可能,出發地不明),終點當然要包含所有的點(客人目的地未知)
(2) 你的任務是找出該買的所有航線
註:假設所有的航線都買是最差的解(因為很貴)

你的任務是:
講白一點,就是要用最便宜的航線串好所有的機場
(要能去能回,不然客人不就跑去別家航空了)

這個問題該怎麼解呢?(當然,時間和空間複雜度要愈佳愈好)

一開始我們認為這個問題很簡單,先把所有的航線(Edge)列出來
例如
起 價格 終
V1 100 V2
V2 200 V3


不列出所有可能的組合,而直接Reversely Sort 所有的 Edge based on Weighting
註:航線 V1-->V2 的價格不保證等於V2->V1的價格


然後Greedy的方式,把由高到低的把貴的航線給幹掉…
每幹掉一個Edge,要確定不影響條件1,直到沒有可以幹的Edge就停…
這樣得到的保證是解,但是不是最佳解就不得而知了…

檢查條件就是確定indegree >1(保證到得了)
,以及out-degree >1(保證出得去)

假設有m個機場,n個路線,存在array裡的話
時間的難點應該是在sort,應是 O(n log n) ,只有的檢查很快
空間的話,需要 m * 2 (indegree + outdegree) for 機場(檢查條件1)
以及 2 * n for 路線(起點+終點) <--用來sort
應該是O(n) (n > m,不然串不起來)


正當我很高興的覺得這樣搞定了
心裡總覺得…好像怪怪的,會不會太簡單了

以上是心得分享…

下面是問題…
有人能幫忙舉個反例,否定我們想出來的演算法
OR
能提出更好的演算法就更佳了…


總之覺得這個interview的問題蠻有趣的… :)

--

All Comments

Steve avatar
By Steve
at 2011-01-16T22:45
最後一個問題用DP可解嗎? 第一個想到的是這個
Quintina avatar
By Quintina
at 2011-01-18T19:00
看到這題難度 我想大約是google or facebook
MS, Amazon 一搬不會問到這麼難
Joe avatar
By Joe
at 2011-01-22T04:50
所以面試前演算法的東西其實要很熟練耶! (我在講廢話嗎? XD)
Jessica avatar
By Jessica
at 2011-01-22T17:39
會問到這樣應該是PhD等級的..
Thomas avatar
By Thomas
at 2011-01-23T19:13
是PhD Level:)
Isla avatar
By Isla
at 2011-01-27T05:55
某e公司表示:這是公司機密 實作出來的那個人已經領股票養老了
Hedda avatar
By Hedda
at 2011-01-28T01:36
第一個部份感覺用Dijkstra解比較快
Zanna avatar
By Zanna
at 2011-01-30T08:22
一開始想到A*是想省空間,把這想成是下棋
Oscar avatar
By Oscar
at 2011-02-03T12:23
但Dijkstra似乎像BFS(要走過所有的可能),沒有pruning?
Kumar avatar
By Kumar
at 2011-02-05T23:54
第一個我想到的也是Dijkstra. 其他不知道@@" 好難喔~
Quanna avatar
By Quanna
at 2011-02-09T14:28
看起來只是基本的single-pair和all-pairs shortest path?
Catherine avatar
By Catherine
at 2011-02-10T08:52
有沒有提到轉機的機場能不能重複?
Ivy avatar
By Ivy
at 2011-02-15T04:15
轉機機場能不能重複沒差 最佳解一定不會有重複機場(loop)
Sandy avatar
By Sandy
at 2011-02-15T19:19
不一定喔,應該要看網路吧,可能重複某個hub解會更好
Jessica avatar
By Jessica
at 2011-02-17T23:20
可重覆,因為假設抵達B為一的路徑 是A,則唯一的方法就
Enid avatar
By Enid
at 2011-02-20T21:06
是從A->B, B->A, 再去其它點
Jacob avatar
By Jacob
at 2011-02-24T05:44
第二個問題好像還變更簡單了,找出讓所有機場雙向互連的edge?
James avatar
By James
at 2011-02-27T18:32
不一定是雙向互連,繞圈也行,這個後來我有找到
應該是NP-HARD的....囧
Lydia avatar
By Lydia
at 2011-03-02T01:49
(http://bit.ly/dGyjXi)
Damian avatar
By Damian
at 2011-03-04T04:37
1.dijkstra 2.minimal spanning tree
Valerie avatar
By Valerie
at 2011-03-08T01:16
2 應該是 nlogn, 是要求要 n 嗎?
Eden avatar
By Eden
at 2011-03-08T05:36
你朋友後來有上嗎? 應該就是smi1e說得兩個類型沒錯..

越南連上臉書問題

Kristin avatar
By Kristin
at 2011-01-11T21:44
※ 引述《POOLTOVN (哇係雜撥郎)》之銘言: : 如題 : 之前在越南無法使用臉書 : 後來使用無界,可順利連上…之後無界又掛了。 : 便改用and#34;辜狗and#34;提 ...

CPT 找工作不需要sponsor的問題

Callum avatar
By Callum
at 2011-01-11T12:43
我是在Houston念會計研究所的 由於 之前在台灣是流浪教師 來美國從初會開始念 所以 一點working experience都沒有 目前 2010和今年都會去做VITA 也就是Tax p ...

Re: [就業] 不安的南非行

Doris avatar
By Doris
at 2011-01-10T13:59
※ [本文轉錄自 Salary 看板 #1DAI1uaz ] 作者: shipinchi (pingee) 看板: Salary 標題: Re: [就業] 不安的南非行 時間: Sun Jan 9 10:41:58 2011 遠離非洲,逃離安哥拉 OUT OF ...

關於headhunter與referral

Daph Bay avatar
By Daph Bay
at 2011-01-09T23:17
又是我,煩人鬼又來了。 關於上一次的問題,很謝謝版友們的建議, 受益良多。 果然該獵人頭先生是拿我年薪的15%,所以他也希望能夠多多益善。 �� ...

大公司的intern

Kumar avatar
By Kumar
at 2011-01-09T10:57
剛剛看了一下自己之前投履歷的公司 他們到一月還持續在其他大學辦Job Fair 有點好奇 通常大公司(國際知名的那種)是要等全美大學走透透才會決定要� ...