Search

㊗ 新的一年,祝福讀者們 2019 新年新希望!! ◆ Welcome to Laird Studio! 歡迎蒞臨萊爾德工作室! ◎ Android Studio 基礎教學籌備中,敬請期待! ☏ 對網站有任何問題或建議,都非常歡迎使用留言板或至 Facebook 粉絲團發訊息,讓我們知道您的想法 (੭ु´ ᐜ `)੭ु

2019年9月1日 星期日

[ 教學 ] [ 經驗分享 ] IT 業面試大補帖 - 工程師的 CV 編排原則與面試考題集錦




前陣子偶然看到一篇解析爆紅備審資料的文章:

爆紅備審資料,編排設計思路全解析!


讓我認識了袁詠祥這位破天荒以學測 48 級分成功錄取交大資工系的同學,大家有興趣不妨瀏覽一下,這份備審資料除了是這位同學他自己撰寫外,還有經由上面文章的作者協助編排設計過,非常有意思!

◆ 韋詠祥 交大資工備審資料 完整版:
https://img.sean.taipei/2019/05/nctu.pdf


不過老實說,備審資料是備審資料,審查的對象是大學教授,編寫時會較偏向內容豐富,排版緊湊的方向,闡述並整理多年來在學校的經歷、收穫與成果,與職場上的履歷,也就是所謂的 CV (Curriculum Vitae),是完全不同的概念。


以我擔任工程師的經驗來看這份爆紅的備審資料,其實一開始我是有點抓不到重點的。


這位同學經歷豐碩,才華與同屆的畢業生相比,絕對是非常突出的技術人才,甚至比許多科技業的前輩都還要優秀且積極。

但備審資料的編排過於華麗,有過多與他個人技能無關的 Logo 與圖示充斥在這份文件,洋洋灑灑 37 頁的內容,豐富到不知從何看起,相信交大的教授們也是花了許多時間去研究這份文件,才能夠了解這位同學與眾不同的高中經歷吧。


如果用同樣的思維去設計履歷,在職場上應徵工作會很容易變成遺珠之憾,因為 HR 沒有時間、也不一定會有耐心看完這麼多內容。


職場上為什麼需要 CV ?

CV 的編排方式與現在遊戲產業所提倡的一頁式企劃有異曲同工之妙,簡單來說,假如只能用一張 A4 的白紙,你會如何介紹自己或做出提案呢?

又或者說,假如今天要把這位同學的備審資料轉換為 CV ,應該就能很明顯看出這份文件有許多元素是冗贅不需要的,也有很多令人驚豔的經驗是可以被突顯出來的。



萊德整理了以下 10 項 CV 編排原則,讓讀者們當作履歷撰寫與設計的參考,這些是科技產業選人趨勢,如果太過特立獨行,有時候會得不償失喔!



此系列文章共有 3 個篇幅,撰寫的主要目的就是幫助社會新鮮人做一個求職上的引導,以萊德自身的經驗與想法做一個鋪陳,期待讀者在面對困難時能不忘初衷,見招拆招,順利找到自己的天職,有任何想法的讀者都歡迎留言交流喔!



【新鮮人求職必讀系列】

1. 給社會新鮮人的面試指南 & 心理建設

2. HR 母湯喔~ 「知道你很優秀,但就是不錄取你」 之 HR 經典語錄大全

3. IT 業面試大補帖 - 工程師的 CV 編排原則與面試考題集錦


【番外篇】

職場斷捨離的藝術-看到公司有哪些徵兆時,你應該考慮離職?(以 RD 為例)





【工程師 CV 編排原則】

1. 履歷只需要一頁
站在 HR 的立場就能知一二,企業用人真的沒有太多時間閱讀過長的履歷,所以請以一頁式 CV 為主。


2. 條列式或圖表式列出自己的技能,數字標示尤其吸睛
善用條列式編排會讓人感覺你做事很有條理、不急不徐,把自己擅長的技能按照熟練度條列出來,並用各種方式標註熟練程度,我有看過圓餅圖、百分比與星星圖示的用法,也有人會用 RPG 角色屬性圖的方式來設計 CV ,非常有意思。
此外,把自己的技能量化,善用數字或百分比表達自己的能力,絕對是最淺顯易懂的說明方式。


3. 一個段落介紹自己,用不同顏色的字突顯重點
CV 簡介自己只要用一個段落即可,文字請簡明扼要,應徵工作不是要寫自傳。
別忘了整份 CV  文字較多的區塊都要用不同顏色的字標示出重點喔!


4. CV 上面列出的專案不要以 2 個為限
專案經驗在工程師的 CV 上是不可或缺的,但請以最重要、最能夠佐證你專業技能的專案為主,放上圖片、專案名稱,以及條列式描述你在這個專案貢獻了哪些技能,以及專案上線後的成果。
成果一定要寫,不管國內外公司都一樣,注重結果大於過程,你用什麼技能反而是其次了。


5. 選擇性加上自己的 GitHub 、 StackOverflow 的個人頁面連結
這個部分要看公司,台灣會看的這方面資訊的科技公司其實不多,除了台灣公司普遍希望員工專注在專案上之外,另一個原因就是 HR 也看不懂XD
所以記住,這點需不需要做,首先是看公司有沒有要求,如果你應徵的並非外商公司,有放沒放基本上是沒差的,除非你在這方面的社群有用很多心思經營,才能顯得你戰功赫赫。


6. 加上作品集連結
工程師與美術設計師都是注重作品的職業,同時也是為自己的專業提供最好的證明,但不是放在 CV 上面,而是在 CV 利用超連結的方式,連結到另外一個網頁或是個人網站,列出自己過去所製作的公司專案或 Side Project 。
這部分是提供給對你很有興趣的公司一個入口,讓他們瀏覽你過去的豐功偉業,提升印象分數用的,若對你興致缺缺,有專業的 CV 也就足夠了。


7. 作品集卡片式編列最好
如果你會一些 HTML 與 CSS ,簡單做出一個卡片的樣式,把一個一個的專案資訊列在卡片上,當 HR 點擊卡片後,就直接連到那個專案的專屬頁面,讓他們可以瀏覽關於這個專案更詳細的資訊,進而直接使用/遊玩你的作品,或是在那個頁面放上商店連結開放下載。
在作品集卡片列出的資訊也不用多,一張圖片、專案名稱、一小段介紹就 ok 囉!


8. 得獎紀錄
假如你是一位很愛比賽的人,得獎紀錄是絕對可以放在 CV 上面的,別忘了一樣用條列式的手法,然後不需要簡介與照片,獎狀或證書也都不用放,版面占比不宜超過你的專業技能區塊。


9. 講師紀錄
又或者,你是一位熱衷於在社群分享技術議題的講者,跟作品集的概念一樣,放上你演講的 SlideShare 超連結在你的 CV ,提供一個入口讓對你有興趣的公司更加瞭解你吧!


10. 冗贅的圖示與照片都不要放
應徵工程師不需要過於花俏的履歷,整齊、條列、數字量化是最大宗、也是錄取機率最高的表現手法, HR 甚至是技術主管都不會 Care 你用的字型多麼有藝術感,或是版面設計的有多好看,這些都跟你應徵的職位沒有太多關聯。
假如你有放很多不必要的照片或是美化圖案,絕對要把它們拿掉,不然就喧賓奪主了。



--- ◇◆◇ ---



上半部簡單介紹了 CV 編撰的大原則與方向,你會發現,真正需要著墨的地方絕對是你專業技能那塊,其次是專案經驗,得獎、講者紀錄那些看似放很多會加分,但只要提一下就好,因為即使你寫的不多,只要有提到,對這方面有興趣的面試官也會主動問你更詳細的資訊喔!

如果你想要看一些範例,萊德推薦大家可以去瀏覽 CakeResume 上面的履歷與作品集,就會大概了解大家都是怎麼做履歷了!


接下來就是大家期待已久的工程師面試考題啦!

以下都是萊德親身經歷過,也精心篩選過的題目,由於我過去的經驗是應徵 Android 工程師, Android 相關的考題比例較高,雖然這些題目不一定會出現在你的考券或面談中,但絕對能夠檢視你的專業能力,並補足你尚未熟悉的技術知識,面試前多做功課,就不會被面試官洗臉,一問三不知囉!



--- ◇◆◇ ---



【Android 與 Java 相關】

1. 請列出 Android 四大基本元件,並簡述各元件的功能。

2. 請簡述 Android Activity 的生命週期。

3. 請簡述 Android Fragment 的生命週期。

4. 請問 Activity 與 Fragment 的生命週期兩者有何不同?

5. 請問在什麼情況下, Activity 會進入生命週期 onPause() ?

6. 請說明 Java abstract class 與 interface 有何功用?

7. 請問什麼是 Intent?如何接收 Intent ?

8. 請問 Activity 與 Fragment、Service 如何互相傳遞數值?

9. 請簡述哪些情況可能會產生 Memory leak ?在程式中如何避免發生 Memory leak 的發生?

10. 請問什麼情形需要使用 Multi-thread ?如何與 Main thread 進行溝通?

11. 請簡述 Android 的啟動模式。(standard, singleTop, singleTask, singleInstance)

12. 請說明 handler 與 looper 之間的關聯。

13. 請問 Android 提供了哪些資料儲存方式?

14. 請問什麼是「進程保活」?試簡述之。

15. 請簡述 Android 系統中的 process 與 thread 為何,並解釋兩者有何差異?

16. 請列出你使用過的設計模式(Design Pattern),並選擇其中一種舉例說明。

17. 請列出你使用過的框架(Framework)與第三方函式庫(Third Party Library),各別簡述其特性與優缺點。

18. 請問 Activity 可以沒有 UI 嗎?

19. 請問什麼是 ADB(Android Debug Bridge) ?請簡述之。

20. 請問 Application 可以有多少個 Task ?

21. 請問 HttpClient execute 回傳項目為何?

22. 請問 Android services 的 onStartCommand() 的回傳項目是什麼?

23. 請問 Android 專案目錄下面的「assets」其作用是什麼?

24. 請問 ContentValues 與 HashTable 的差異為何?

25. 請列出 Android 的四層架構。 SQLite 屬於 Android 框架的哪一層?



【C#】

1. 請說明下列存取修飾詞所代表的存取層級:
public
protected
internal
protected internal
private
private protected

2. 請問 String str = null 與 String str = "" 這兩者有何不同?請盡量使用文字或圖像說明其中的區別。

3. 請簡述類別(Class)與結構(Struct)的異同。

4. 請簡述何謂委託(delegate)。事件(events)是不是一種委託?

5. 請簡述何謂 Override ?何謂 Overload ?請簡述兩者的異同。



【C++】

1. 請簡述何謂 malloc 。

2.
char str[] = "funtown";
char *p = str;
請問 sizeof(str), sizeof(p), strlen(p) 分別為何?

3. 請撰寫一個 function ,輸入 2 個字串後,當字串相等時,回傳 0 ,不同時則回傳 1 。(請勿使用 strcmp 或是 memcmp 之類的函數)



【白板題】

1. 現有一副 52 張標準撲克牌,要洗牌後隨機平均發牌給 4 位玩家,請使用你擅長的程式語言實作之。請問你的程式時間複雜度(Big-O Notation)為何?

2.
int a[]={8, 13, 5, 13, 8};
陣列內除了一個數是單個,其他數都是成對的,請使用你擅長的程式語言寫出程式,印出那個只有一個的數字。請問你的程式時間複雜度(Big-O Notation)為何?



【數學與邏輯】

1. 現有一數列且規則為「1、1、2、3、5、8、13、21、34......」,請使用遞迴算法並用你擅長的程式語言實作之,求出第 100 位數為何?

2. 請使用你擅長的程式語言寫一支程式,當隨機輸入 5 個數字,需判斷是否為順子,如果是順子請 print 出來,例如:1、2、3、4、5 即為一種順子。

3. 求下列表達式的值,寫出你想到的程式實作方式。(至少一種)
1-2+3-4+......+m

4. 現有一數列內容隨機排序,請找出第三大的數字。(註:不能使用任何排序演算法,且方法要符合時間複雜度O(N))

5. 袋子有 2 種顏色的球,取 7 顆,總共會有多少種組合?請用你擅長的程式語言寫出程式,列出所有可能的組合。如果要找出第 3 顆是什麼顏色的話,要如何找出?

6. 在屋子內有三顆燈泡,在屋子外有三個開關,你只能進屋子一次,且屋外看不見屋內,要如何知道哪個開關對應哪個燈泡呢?(註:不限開開關的次數)

7. A 說 B 在說謊, B 說 C 在說謊, C 說 A、B 都在說謊。請問到底誰在說謊?

8. 現在審問四名竊賊嫌疑犯。已知當中有一名是竊賊,還知道這四個人不是誠實就是說謊,請根據他們回答問題的結果中,判斷誰是竊賊。
甲說:『乙沒有偷,是丁偷的。』
乙說:『我沒有偷,是丙偷的。』
丙說:『甲沒有偷,是乙偷的。』
丁說:『我沒有偷。』



【程式語言與資料結構】

1. 請列出你知道的所有排序法,並選擇其中一種舉例說明。

2. 請使用你擅長的程式語言實作泡沫排序法(Bubble Sort)。

3. 請簡述何謂 Hash 。什麼情況會需要用到 Hash ?

4. 請說明「加密」(encrypt)與「雜湊」(hash)有何不同?

5. 請簡述何謂「鏈結串列」(Linked List)。

6. 請簡述何謂 Deadlock 。要如何避免 Deadlock ?

7. 物件導向(OOP)有哪些特性?請簡述之。

8. 何謂「封裝」、「多型」、「繼承」、「抽象」?請個別說明之。

9. 請簡述何謂 MVC 架構。

10. 請簡述何謂 MVVM 架構。

11. 請簡述何謂 MVP 架構。



【網路】

1. 請簡述你對 TCP/IP 的暸解。

2. 請列出並簡述 OSI 七層網路協定。

3. 請簡述你對藍牙(BlueTooth)的暸解。

4. 請簡述何謂 HTTPS ,與 HTTP 有何差別?

5. 請簡述何謂 RESTful API 。

6. 請說明 Session 與 Cookie 有哪些不同?



【資料庫】

1. 請簡述何謂 CRUD 。



【PHP】

1. 請簡述 $_POST , $_GET , $_SESSION 這三者有何差別?



【日常生活題】

1. 請說明電梯系統是如何運作。

2. 請說明自動販賣機系統是如何運作。



--- ◇◆◇ ---



除此之外,其實面試時有蠻多題目是無法用簡單的文字表達,有些甚至直接在試券列出一段程式碼,然後要求應徵者補齊不足的程式碼,達到題目的要求。

大部分面試官都是想要看應徵者的臨場反應,專業知識的考題都只是在測驗基礎能力而已,所以依舊需要透過每日大量的學習與消化,才能讓自己的知識量越來越豐富,如此一來,就不會太容易被問倒了!






最後,這系列文章已經到了尾聲,預祝所有看完這個系列文章的讀者都能順利找到理想的工作,有好消息也歡迎讓我知道沾個光喔XDDD

我們下次見~



【新鮮人求職必讀系列】

1. 給社會新鮮人的面試指南 & 心理建設

2. HR 母湯喔~ 「知道你很優秀,但就是不錄取你」 之 HR 經典語錄大全

3. IT 業面試大補帖 - 工程師的 CV 編排原則與面試考題集錦


【番外篇】

職場斷捨離的藝術-看到公司有哪些徵兆時,你應該考慮離職?(以 RD 為例)



沒有留言:

張貼留言