Backend Engineer面試心得分享
前言-成長歷程
個人條件(剛畢業未學習時)
在去年2021年即將要畢業時,已經想要走Code相關的工作了,
這時候我的條件是
學歷:國立科大畢業
兵役:未役
工作經驗:6個月實習(電腦中盤商,跟軟體產業以及半導體產業毫無無關)
學習過程
其實在畢業的前後我一直有在看104、Hahow有沒有可以學習的課程,這時候我看到了古老師的SpringBoot課程,開始學習與後端有關的知識,在2021年9月這時候服役,個人服的是一般替代役,所以有很多空閒的時間可以學習,在學到了古老師的課程之後基本上已經瞭解了MVC,以及可以寫出基本功能的CURD的API,再加上個人在大二有另外買前端相關課程,所以就想說單單的測試API挺沒感覺的,所以就自己寫了前端,到今天2022年1月,因為自己想準備一個小型的電商網站,所以就又學習了AWS 以及Docker,這些都是Hahow上擁有的課程資源。
所以其實我在這段過程中,我在網路上總共學習了:
1.SpringBoot
2.前端基本(無框架,會Call API)
3.MySQL
4.AWS
5.Docker
退役後個人條件
學歷:國立科大畢業
兵役:服役完畢
這邊直接打上我自己覺得在這段面試過程中重要的程度,但在整體上後端跟資料庫真的很重要,在文章的後面會在說明我在做作品時的一些心得。
1.SpringBoot ★ ★ ★ ★ ★
2.前端基本(無框架,會Call API) ★ ★ ★ ☆ ☆
3.MySQL ★ ★ ★ ★ ★
4.AWS ★ ☆ ☆ ☆ ☆
5.Docker ★ ★ ★ ☆ ☆
6.擁有作品 ★ ★ ★ ★ ★
學習作品的歷程我覺得蠻重要的!文章最後會有一個小總結
面試
我剛退伍隔天就開始面試了,這其實應該會讓人覺得加分吧,像有的主管會覺得這樣比較積極向上之類的XD
那這邊也直接附上懶人整理,也會附上整個過程
回答過最多的問題:
首先一定要準備自我介紹,
1.在做作品時遇到覺得最有印象的地方?
2.這些技能在哪裡學的?
3.還有哪裡有問題嗎?
4.希望的薪資待遇?
5.什麼時候可以開始上班
6.除了我們你還有面試哪一間
7.還有沒有哪裡有問題?
自我介紹內容
因為每家公司都有自我介紹,所以在這邊直接附上我的自我介紹,個人認為就也普通普通的,因為我把重點直切到作品上,自然自我介紹不會太多, xxx好,我畢業於xx大學xx系,在學時修軟體居多,是使用C起手,在大四下半年時還有當兵服役的半年運用自己的空閒時間學Java,有做了一個類似電商平台的作品,裡面是使用 SpringBoot docker 前端 Aws,有把它架到網路上面(到這邊就會開始介紹作品了) 接下來就看當時情況有沒有需要多作補充,像我其實補充了很多自己的學習歷程,但其實這樣下來介紹的時間可能1分鐘差不多。
第一天面試
第一天面試的是一家純軟公司,專門接案的,主要有app-web都有,規模大概10人左右,面試的地方在大樓的大廳,剛開始面試的主管給了我他手機的畫面叫我拍起來,上面寫著五點,叫我想好就開始介紹 1.簡短自我介紹
2.經歷、專長
3.職務的認知
4.自我期許
5.期望薪資
我大概看了一下,因為其實這履歷上面我都有寫,所以我想好不到一分鐘後就開始介紹,
介紹完後,接著面試官就問作品有沒有帶,接著我就拿出了作品(有自備電腦),並開始介紹我一條龍式的開發過程, 面試官就有稍微提問一下,
Q:Docker 是用什麼架的?
A:Aws EC2 Liunx
Q:會不會用vue
A:我用過v for v if,但自己還是把重心著重在後端
之後就誇獎我說蠻厲害的,大學畢業的人很少會這麼多東西,本來沒有打算要應徵應屆畢業生,再來介紹完公司的產品內容以及開發方式之後, 就談了薪資的地方,我開38k,但是他說也不知道我的實力在哪裡,所以剛進來沒辦法,但其實前面面試官是有說一個人的效率也是可以達到北部薪水, 所以聽起來薪水也是有彈性,但最後我降到35k之後又談了一次最後變成32k,談到這邊主管就問我有沒有問題想了解,沒有問題可以結束了,他說先到這邊的時候我才發現後面下一個面試的人要來了(就是把時間用完XD)
履歷:主動投履歷
考試:無
面試時間:約60分鐘。
結果:offer get
不過,純軟+小公司=薪資低。其實自己有想得到,所以我故意把這間放在第一間,當經驗。
第二天面試
第二天面試的是緯創資通,在面試之前主管有打電話過來,因為他看了我的履歷我是寫Java,但他們是寫Node,但這間是上市上櫃的公司,對我學士畢業來說真的是一個很好的機會,且後端領域需要的知識是共用的,我就答應了面試,方式是開Teams遠端面試,總共有跟我通話的那位主管再加上另外兩位技術主管3對1面試,問題大該是:
Q:自我介紹+作品
A:我就回答了自我介紹後,再加上作品整個操作的流程,做了哪些功能
Q:在作品上的遇到的困難/印象深刻的地方,用了哪些東西,還有會問SQL為什麼會這樣設計,看後端的程式碼
A:按照實際回答
Q:大學修課遇到的難題、印象深刻的課程,這邊我就按照自己的
A:經歷實話實說
Q:這些東西去哪裡學的:
A:我回答除了展示Hahow購買的課程外,平時也會看Youtube,接著主管問我看哪個頻道,我直接遠端查給他
看,主管有問我聽得懂他在講什麼時,我也有表明了都用翻譯看,因為其實看程式碼是看得懂的
Q:知道敏捷開發是什麼嗎?
這邊我回答不知道,接著他們就解釋了一遍,我就說這很好啊!很棒XD
Q:接不接受加班
A:有給錢就ok(這是簡單說明實際上當然不是回答這樣XD)
在介紹作品時,有問上SQL,我有說我又做過leetcode,然後就直接上leetcode考SQL初級:還好有做過,有做出來(開放上網查,但要解釋題目以及做法,寫完還會另外考幾個語法EX:Distinct是什麼 Group up 、Join On,Docker的Volume小知識
這邊就差不多是問題的全部,接著主管也很熱情的介紹部門團隊主要在做的事情,我也是很熱情的不懂就問,他們也很熱情的跟我解釋我進去後大概會做什麼,我也表現出一種很有興趣很開心的態度XD(這每一家公司都要啊!!)
在結束之前,因為技術主管問的問題我都有回答對,再加上主管本來問我上班日時我回答4/1號(大約3個禮拜後),他就又問了最快可以什麼時候雙方Check都有意願,其實到這邊我就大概知道穩了XD
履歷:主動投履歷
考試:SQL(Leetcode)
面試時間:約130分鐘。
結果:隔天下午人資通話Offer Get
第三天面試
第三間
第三天第三間面試的是資拓宏宇,進去時會先考JAVA,還有資料庫,內容差不多是OCJP裡面的內容,接下來寫完有四位面試官,其中一位是主管,開始自我介紹之後,就問了
Q:我大學修的科目中有哪些印象比較深刻(因為是相關科系),
A:C、JAVA,還有我覺得為什麼很棒。
Q:作品的資料庫為什麼要這樣設計?還有目前的缺點是什麼?
A:這邊我其實不知道資料庫設計的概念,因為幾乎就是網路上看多了知道大概要這樣設計,所以我大概是一問三不知,其餘就依照實際回答
Q:在哪裡學習的?
A:我回答網路上買課程學習,
接著他們有問多長,我說了2000分鐘,他們就說了像外面的課程(如資策會),上半年並不是沒有原因的,因為他們連這些設計的概念基礎都有涵蓋在課程裡面,所以還是會跟我有差距(因為上面他們有問一些基礎知識的,我回答不太出來,也有https是什麼)
Q:軟體工程是什麼?
A:這邊因為他說他看到我有修這門課所以問我學到什麼,但我們學校的軟體工程不是在上軟體工程,所以我這邊就算跳過了。
在中場休息時也考了我如何印出圖形,並說「妳用什麼方式都可以,有什麼問題可以問我」,給我五分鐘的時間,再來我大概花了10分鐘把演算法寫完之後,他們開始解釋,你覺得最好的解法是什麼,我回答當然就是暴力print 出來,接著出題的大哥就說,我有說用什麼樣的方式都可以,如果你用print 的方式五分鐘以內就解完了,這邊是在確認你會不會跟客戶做確認需求,再來是邏輯的能力。
這邊就差不多是問題的全部,接著也是介紹他們的客戶、產品以及可能會遇上什麼需要OneCall的情況,
這間整體上其實給我的感覺很棒!即使我不會的很多,但每一位工程師都很有耐心的跟我說知識,我欠缺的地方、我有什麼東西,是一家好公司。
履歷:主動投履歷
考試:JAVA、SQL資料庫規劃(ER圖)
面試時間:約130分鐘。
結果:無聲卡
第四間
接著是第三天第二間公司,是網XX星,軟體公司,規模不大,大約10人上下
也是一家軟體公司,面試之前會考Java考題+英文,斷網,不可以看手機,題目大概是要會應用Java基本陣列操作、演算法,一些常用的函示(隨機數、日期與時間),我抽到的題目是有關於休假與薪資的計算、或是翻撲克牌的題目,接著英文就是考閱讀,選擇題。
考完之後就面試,但因為剛好考倒我的痛處所以面試就沒有什麼重點了
履歷:主動投履歷
考試:JAVA、英文
面試時間:約含考試90分鐘
結果:考試沒過掰掰
心態變化XD
因為到這天時剛好接到了緯創的offer,所以從第四天開始,談薪水就會高一點,不然依純軟的小公司薪資是很難達到科技業待遇的。
第四天面試
第五間
第五天第一間是怡x軟體,一間軟體公司,中小型企業
1.自我介紹
2.介紹作品
介紹完作品之後,稍微問了我SQL基本語法會不會用,口頭回答一些基本問題後(EX SELECT怎麼用 JOIN ON怎麼用),藉著他們解釋了他們的客戶、進去之後要用他們自己寫的系統,但系統主要還是要會一點SQL,也說我的能力在外面可以找到很多工作,談了薪資之後,他們說這個薪資算蠻高的,但會跟上面談談看,也有問最快上班日。
履歷:主動投履歷
考試:無
面試時間:約30分鐘
結果:兩個禮拜後Offer get
第六間
第六間是保險產業,所以是大公司,但進去要做的事情是純軟沒有錯
首先進去做性向測驗,還有科技知識(最小生成數、什麼是社交攻擊),英文翻譯(大概翻出來文章在講什麼),SQL情景規劃ER圖,
接著經理跟人資就請我自我介紹,跟我聊天,問一些之前學習的經歷,我也展示了作品,詳細問了什麼不記得了,但過程其實很輕鬆,主要經理介紹蠻多的,除了Java也介紹會碰得資料庫種類、程式語言可能還會學Asp.Net,在介紹時可以聽得出來經理是硬底子的人,南北帶團隊,喜歡帶年輕人,藉著經理就很忙換人資了,人資接著說其實他們不太加班,但知道經理算是對我有興趣,就問了offer,我開的offer他說其實蠻高的XD,也問了最快上班日。
可以感覺得出來經理跟人資都蠻喜歡我的,讚讚!人都很好
履歷:主動投履歷
考試:科技知識(最小生成數、什麼是社交攻擊),英文翻譯,SQL
面試時間:測驗90+面談40 =約130分鐘
結果:無聲卡(我猜是我薪水開太高,我整整跟他們預期應該多開了5k以上)
第六天面試
第七間
第七間在面試之前,有給十天的時間做Spring MVC ,考RestfulAPI+CRUD,加分項docker,給他們github之後通過才會,通知面試,通過之後這間採取遠距方式,2 vs 1
自我介紹、作品(看了我的作品表示題目對我來說太簡單),學習上遇到困難的事情、大學專題合作經驗(我回答我一個扛全部,不過是事實)、覺得題目可以往哪裡發展,介紹公司產品,最快上班日,有沒有哪裡有問題。
履歷:主動投履歷
考試:github上傳RestfulAPI+CRUD 加分項:dockerfile & 簡化docker image大小
面試時間:30分鐘
結果:第二次面試機會get(聽說到這裡幾乎就是待遇問題了)
第八間
第八間是中鋼底下持股100%的子公司,在面試之前是被經理電話詢問有沒有興趣,他介紹了我除了Java可能還會有C#之類的,我閒閒沒事也就答應了,(面試一種學習),遠距面試,3 vs 1
在自我介紹+作品介紹後,問了一些差不多的問題(詳細忘記了),考SQL,10分鐘兩題,考JOIN ON,GROUP UP,還有JAVA Bubble Sort 35分鐘,(因為有網路所以,我五分鐘做完),有請我解釋程式碼在做些什麼,
之後就介紹了公司主要的業務方向,我以後的工作性質,但因為知道是老公司了,有用到struts2,所以意願沒有很高XD(再加上聽起來就是個死缺)。
面試結束後經理跟我私下問offer希望多少、最快上班日,我直接給他與緯創相同的待遇,他說會問上面看看。
履歷:看到104上的履歷,問我要不要面試
考試:Java + SQL
面試時間:60分鐘
結果:offer get
第七天面試,最後一家
是位於一家高雄科技軟體園區的軟體公司,主要為醫療相關寫系統,2vs1,這間我忘得差不多了。
內容是自我介紹、作品介紹,(有看我作品的code),學習上遇到困難的事情,知不知道敏捷開發是什麼,
接著就介紹公司主要寫什麼,最快上班日,後來被叫出去走廊上談薪資XD,因為辦公司有很多人,這個話題太敏感,我也是直接說了緯創的offer,他們也表示有點高,問我能不能低一點XDD
履歷:看到104上的履歷,問我要不要面試
考試:無
面試時間:30分鐘
結果:薪資低的話可以offer get
總結
不得不說我擁有的一切大概是學了JavaSpringBoot才開始的, 雖然說有一個完整的作品也很重要,但整體來說我覺得寫前端是不必要的,像aws也只是我為了把作品放上去摸的, 至於docker是真的有點加分作用,畢竟在後端領域上也很常使用到,如果不會前端可以考慮用個簡報或是PDF撰寫自己的API文件、或是做好Swagger UI丟到網站上,也可以算是個作品,
技能重要程度:
SpringBoot:★ ★ ★ ★ ★
理由:不解釋
前端基本(無框架,會Call API) ★ ★ ★ ☆ ☆
理由:後端工程師其實真的懂一點就好,學會了也是把自己的成果放到網路上,但寫前端也很浪費時間,不如增進自己後端的實力,也有可能因此被凹全端。
MySQL: ★ ★ ★ ★ ★
理由:很多公司都會考,在實際上後端工程師也一定要會,有餘力的話了解基礎語法且規劃資料庫的知識也很重要。
AWS:★ ☆ ☆ ☆ ☆
理由:在團隊中其實有所謂的維運工程師,所以這個不會也沒關係,加分作用也沒有很大
Docker:★ ★ ★ ☆ ☆
理由:很常會在後端看到的其中一項工具,有時間可以學習,加分作用比aws多很多,但面試問的機會不多(但說不定其實沒什麼好問的)。
擁有作品:★ ★ ★ ★ ★
理由:我在做自我介紹時,我的方向完全朝著作品做結尾,如果沒有這個,我其實算是沒經驗沒作品的人,所以我會盡量把自我介紹後的下一步就是介紹作品給面試官看。