2009-09-25 79 views
6

我正在採訪高級開發人員候選人,並希望讓他們通過設計問題思考作爲面試的一部分。我想要一些涉及前端,中間和數據庫的東西。它應該有一些數據建模挑戰等等。你怎麼看?需要簡單的系統設計問題面試

+1

你在想什麼樣的設計問題?我可以考慮兩種選擇,「或者」你將如何設計[在這裏插入系統]?「或」*你如何克服這個[這裏有一個令人驚訝的難題]?*「 – Esko 2009-09-25 16:35:10

回答

2

在移動設備中個人輸入訂單的道路上給出salesforce應用程序的設計概述。

系統應具有

  1. 後備數據庫
  2. Web應用程序
  3. 與當地的估算髮動機

你將如何修改設計來處理民富客戶端應用程序斷開連接,所以他們仍然可以輸入訂單並稍後調和它們?

答案可能包括:

數據庫
  1. 影響
  2. 本地客戶端的設計
  3. 用戶交互問題

現在問哪裏這個系統有安全漏洞,以及如何脫機需求會影響這些漏洞。

這應該足以讓任何人流汗或真正有創意的推出成爲一個好的設計會議。

如果你真的想強調的他們,保持與OK中斷,我得到的,請繼續到下一個點

+0

我在想如果有人問我」現在問這個系統有哪些安全漏洞,以及離線要求如何影響這些漏洞「我真的會出汗... – iceangel89 2009-09-26 13:41:54

+1

」我明白了,請轉到下一點「是真的很糟糕... btw想說一些安全漏洞以及離線要求如何影響他們? – iceangel89 2009-09-26 13:43:23

0

首先,問問自己,這項工作本身是否需要這項技能 - 程序員是否真的負責數據建模?作爲面試官和麪試官,我已經參加過很多面試,這些面試都是在最無意義的問題解決和紙面編程任務的基礎上制定的。採訪程序員的最好方法是坐下來和他們一起編程。

0

我被問到的是:「你將如何構建一個netflix風格的web應用程序,從頭到尾?假設它必須支持netflix目前支持的相同規模。」

-1

我認爲安迪的基本框架,發現他已經有一些呻吟去他的(我贊同btw)將它作爲「創造性地推向一個好的設計會議」。並且不要強調他們使用:我沒事,你沒事,但你的設計不好除非你真的知道設計是如何工作的,如何編程,並有一個良好的防彈證明爲什麼設計是有缺陷的。另一個層面要考慮的是不要拋出博士學位。博士論文「任何問題」的風格,除非你有實際的博士學位。在面試主持人的對面。碩士的水平和更低的水平不處理壓力 - 或正確的和真正的博士學位。如果你試圖通過採訪,以一種已經過時的形式進行採訪,那麼他會把你釘在地上。

這是問這個系統有哪些安全漏洞以及離線需求如何影響這些漏洞。其中安迪展示了實地經驗的價值,你已經得到了整個土豆,他給你毛絨地毯設置錯過誘餌你如何強調面試者 - 像採訪者不知道該怎麼做那。與往常一樣,最大的風險來自內部,但沒有候選人會告訴你。

除非他們有50,000小時的現場經驗。

@ iceangel89:如果您正在設置採取別人的秋天,你會怎麼做?

{如果有五千萬的股權,他們肯定不介意給你這筆生意,我不是指他們的生意。 }

0

我不認爲這是做這種情況的最佳選擇。這隻適用於那些也必須用來處理新聯繫人的老年人(也許是顧問?)。實際上,測試並不是說某人可以設計一個系統的能力如何,但是有人善於處理壓力和/或可以通過對話欺騙他/她的方式。

我已經從桌面兩邊接受了我的面試,其中一種技術真的引起了我的注意。我知道Avanade和微軟都使用(或使用)這個技術人員。

他們給出了非技術性的謎語,他們可以通過邏輯思考來解決。你應該意識到這不是得到正確的答案,而是關於如何得到一個答案,告訴你是否有人擅長解決問題。這就是編程和設計軟件的全部內容,不是嗎?

可以學習編程語言和技術。無法學習解決問題的人才。

0

據我是誰希望在n層體系結構的設計涉及到的高級開發人員應該知道

  1. 什麼是設計模式?
  2. 你知道UML嗎? (如果面向對象編程)
  3. 分析和設計有什麼區別?
  4. 你是否在鬆散耦合的軟件架構上工作?如果是的話你是如何實現的?

和這麼多..

0

這樣做會告訴你,如果候選人可以設計在幾分鐘內這樣的系統;強調「幾分鐘」。這很可能不是他/她在爲你工作時所面臨的情況,所以它可能不會告訴你你需要知道什麼。

爲什麼你不這樣做呢?讓他們告訴你他們過去設計的應用程序的設計。

0

謝謝大家。這是一個很好的討論。我非常喜歡提出簡單設計問題的想法,讓他們設計它,然後詢問安全性和可伸縮性。我打算跟隨所有這些,以及一些簡單的編碼挑戰。我真的不想強調候選人,但我也想找到好人。