看板 Oversea_Job 關於我們 聯絡資訊
: → mud2008:我只想說.對方要你給O(n). 你給 O(nlogn).你在答非所問嗎 12/12 02:24 : → mud2008:你要解要馬O(n)或更快的time complexity. 不是給更慢的解. 12/12 02:27 還是認真回一下好了 如果那三個題目是你現場碰到的題目,你的最佳解最好不是你不熟悉的演算法 而是你已經很熟練可以寫出,而且不容易有bug的程式 例如array類型的程式,大部分都先丟個q_sort 你一邊熟練的在白板或線上考卷寫,一邊說明為什麼要q_sort 絕對比你站著苦思強很多 同時,一邊寫的時候後面的解法也容易慢慢浮現,至少可以猜出大方向 例如第二題 sort後,x<y<z 鎖定x, y指針與z指針從左右兩個方向推到中間,其實就是正解 y, z 加起來最多只有n,乘上x就是正解了 但兩個指針逼近只是我靈光一現,現場如果對這沒把握,應該先寫自己確定的解 然後再說自己覺得可以解的方向,問別人願不願意讓你試試看 有時候你會想出別人沒意料到的答案,例如第一題 使用data pool來serialize data pool是最近在爬source code時發現的一招 因為自己有臨摹寫過,所以一看題目馬上就可以寫出來 但這不一定是面試官想看的東西就是了... :P 寫這種答案風險很高,不一定每個人都喜歡怪招 所以還是要對正常寫法有概念 我的寫法是偏重怪招,正常寫法只有略題 這可以看現場來決定怪招正解要放的比例是多少 線上考試時你可以問面試官問題,看他比較想看哪種解 (我遇過的都還是想看正解) 不過,你可以用嘴巴跟他講怪招大觀念,通常別人也會買單 最後,要很熟悉自己的主要開發語言 適度的調用內建function可以呈現你對程式語言的熟悉度 像是libc裡面有regex,不去翻gnu libc文件根本就不會知道,因為學校沒有教XD 而且這regex用起來還蠻簡單的,讓我很意外..XD libc實際上還有給一個內建的hash table!但不是reentrant function所以不好用 非常的雞肋... = = 希望以上的分享有幫助 祝大家面試順利 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.45.171.118
sunts:推 12/16 00:40