欧美在线专区-欧美在线伊人-欧美在线一区二区三区欧美-欧美在线一区二区三区-pornodoxxx中国妞-pornodoldoo欧美另类

position>home>Blogs

拆解軟體工程師面試過程:Onsite interview和實(shí)作時(shí)要注意什麼?

文:Mia Chen

拆解軟體工程師面試過程:Onsite interview和實(shí)作時(shí)要注意什麼?

在疫情還沒降臨前,拆解程我很幸運(yùn)地曾到幾間科技公司進(jìn)行onsite interview。軟體以下和大家分享我的工程面試經(jīng)驗(yàn),希望能為大家解惑。師面試過什麼也希望疫情趕快結(jié)束,和實(shí)讓onsite interview不再是作時(shí)注意艱難的virtual onsite。

Onsite前要先過五關(guān)斬六將

在onsite interview之前,拆解程通常還有兩關(guān)考驗(yàn):

Online Assessment(OA):在線上軟體根據(jù)題目要求寫程式,軟體通常有三題到八題不等,工程且每題都會(huì)有幾十個(gè)test cases,師面試過什麼自動(dòng)測(cè)試你的和實(shí)程式是否達(dá)成題目的要求,只要通過所有test cases就算通過。作時(shí)注意沒有面試官,拆解程但有時(shí)間限制。軟體個(gè)人覺得這階段的工程體驗(yàn)最差,因?yàn)闆]人討論,再加上剩餘時(shí)間會(huì)顯示在畫面上,眼看時(shí)間一點(diǎn)一滴流逝,心理壓力很大。

Phone Interview:面試官打電話給你,在線上共同的編輯器解題目,通常會(huì)考一或兩題,每間公司限時(shí)不同,大約都是45至60分鐘。你可以在自己的紙張上寫自己的思考過程,或是列出可能的edge cases,但也因?yàn)槊嬖嚬倏床坏剑容^難知道你的思考邏輯或給你其他思考方向。所以你必須不停地講話,讓面試官跟上你的思考,或是在共同編輯軟體上盡可能以最簡(jiǎn)單的方式表達(dá)你的想法。

有些公司只有OA或只有phone interview,甚至有些人很幸運(yùn)直接onsite interview。

進(jìn)入重頭戲:Onsite interview

面試官進(jìn)門,他會(huì)請(qǐng)你用一分鐘自我介紹。不過並不是每位面試官都會(huì)請(qǐng)你自我介紹,有些也只是為了幫助你放鬆才請(qǐng)你自我介紹。

面試官接著會(huì)開始講題目,但不一定會(huì)把所有需求或限制都講完(這同時(shí)是考驗(yàn)?zāi)闶欠袼紤]周到的一環(huán))。建議你可以先用你自己的話講出你理解的題目,並舉一個(gè)最簡(jiǎn)單且有input與output的例子,跟面試官確認(rèn)你的理解無誤後,再開始想其他edge cases。

在尚未implement前,多花一些時(shí)間在思考edge cases絕對(duì)是值得的投資(例如:input是空array、input是null、數(shù)字會(huì)不會(huì)小於零等)。edge cases想得越多越好,當(dāng)然也要跟面試官確認(rèn)output,避免實(shí)作時(shí)才發(fā)現(xiàn)未考慮的條件而亂了手腳,甚至太緊張而想不到如何修改自己的程式。

如果所有情況都考慮到了,實(shí)作也不會(huì)佔(zhàn)太多時(shí)間。edge cases可以寫小小的在旁邊,包含input和output,最後實(shí)作完可以用來驗(yàn)證你的程式。

在思考的時(shí)候,也要記得告訴面試官你需要時(shí)間思考,不要莫名就陷入自己的思考,把面試官晾在那,畢竟面試官也在思考:「如果這個(gè)人未來是我同事,會(huì)不會(huì)很難合作或溝通?」

確認(rèn)完edge cases後,你要先描述你的解法(切勿直接實(shí)作程式):演算法或是資料結(jié)構(gòu)的關(guān)鍵字可以講在最前面,例如「find a cycle in the graph」、「store the data as linked list」、「solve the problem by using Stack」、「use Kruskal's algorithm」,讓面試官清楚知道你會(huì)做什麼,也向面試官傳遞「你對(duì)題目的了解是否正確」的訊息。如果面試官?zèng)]有阻止你,通常就是在對(duì)的路上。

描述解法細(xì)節(jié)時(shí),可按順序條列你程式裡會(huì)做的事(寫關(guān)鍵字就好):用來紀(jì)錄你的想法,以確保你不會(huì)實(shí)作時(shí)太緊張而忘了下一步,也用來取代pseudo code向面試官傳遞想法的功能。因?yàn)閜seudo code較花時(shí)間與版面,如果有面試官糾結(jié)你格式是否正確更是浪費(fèi)時(shí)間。所以建議只要用英文依順序條列你會(huì)做的事即可。

iStock-1255928059Photo Credit: iStock

實(shí)作的重點(diǎn):邊寫邊講,每實(shí)作下一行前請(qǐng)確保面試官跟上你的進(jìn)度,當(dāng)你偏離面試官心目中的正解時(shí),他才能適時(shí)地給你引導(dǎo),或是提醒你這行有更多edge cases要處理。你可以想像你們?cè)趐air programming,隨時(shí)注意面試官給的回饋。

實(shí)作完後可別急著說你做完了,一定要用test cases遍歷你的程式(遍歷=test coverage 100%):用test cases走過你每一行程式,看每走完一行你的test case與各變數(shù)會(huì)變成什麼。想一個(gè)中等規(guī)模的正常例子,前面寫下來的edge cases也要拿來用。

這個(gè)步驟類似單元測(cè)試,仍算實(shí)作的一部份,所以遍歷的時(shí)候若發(fā)現(xiàn)程式錯(cuò)了,修正是可以被接受的。因?yàn)槔邮悄阆氲模e(cuò)誤也是你自己發(fā)現(xiàn)的,修正當(dāng)然也是合理的。

實(shí)作完的其他注意事項(xiàng)

接著面試官會(huì)問你time/space complexity,這裡就沒有什麼訣竅,倒是刷題的時(shí)候需要多練習(xí)(這是刷題時(shí)很常被忽略的步驟)。分析複雜度是考驗(yàn)?zāi)銓?duì)程式的理解程度,你是否知道這個(gè)程式的瓶頸在哪:哪裡需要花最多時(shí)間執(zhí)行、哪裡需要花最多空間儲(chǔ)存。知道瓶頸在哪也才知道如何改善程式。

你知道瓶頸在哪,面試官也就順理成章地問你:「你要如何改善?」這時(shí)你要思考其他解法以改善你的程式,通常就是用別的資料結(jié)構(gòu)存取更多資料以空間換取時(shí)間。如果面試還有時(shí)間,面試官可能會(huì)請(qǐng)你修改你的程式來實(shí)作改善方案,也會(huì)問你新解法的time/space complexity。


Popular articles

主站蜘蛛池模板: 国产精品对白刺激久久久| 中文字幕在线播放第一页| 91久久香蕉| 琪琪色原网站在线观看| 亚洲欧美日韩成人一区在线| 日本三级午夜理伦三级三| 国产小视频免费在线观看| 日本黄色电影在线| 日本免费网站在线观看| 亚洲欧洲日产国产最新| 再深点灬舒服灬太大了短文d| 日本夫妇交换| 88av影视| 再深点灬舒服了灬太大| 黑白高清在线观看| av线上观看| 欧美亚洲另类综合| 国产精品爽爽va在线观看网站| 一级毛片视频在线| 婷婷人人爽人人爽人人片| 日漫艳母| 欧美乱妇高清无乱码在线观看| 精品国产不卡一区二区三区| 国产999| 舌头伸进去里面吃小豆豆| 日产亚洲一区二区三区| 日本电影100禁| 亚洲国产三级在线观看| 日本三级黄视频| 国模人体沟沟| 怡红院视频在线观看| 啊!摁摁~啊!用力~快点视频免费 | 亚洲日产欧| 香蕉视频在线观看www| 美女扒开裤子让男人桶视频 | 中文欧美日韩| 一本大道一卡2卡三卡4卡麻豆| 日韩欧美在线视频| 日本高清不卡免费| 国产福利萌白酱喷水视频铁牛| а√在线地址最新版|