[心得] 2022上半年後端面試分享

看板Soft_Job (軟體人)作者 (冷雨凝星)時間1年前 (2022/05/08 01:36), 1年前編輯推噓38(38020)
留言58則, 33人參與, 1年前最新討論串1/1
前言:  首次在本版貼文,若有不恰當或是需要修改的部份麻煩再告訴我,謝謝  本次面試的時間在2022年3月到4月之間,內容可能有點多,請見諒  列出的公司順序是按照我自己開始面試的時間做排序  內容也是結束根據印象寫下的,所以可能不是很完整  如果懶得看的人或許可以參考一下我個人面試完的結論  但由於我自身的經驗所以結論可能不完全正確,如果有其他想法也歡迎留言  希望這篇文章能夠幫到有需要的人,也祝大家都能找到自己理想的職缺  背景介紹:  四中碩士,2年後端工作經驗  主要使用Java和Spring Framework進行API開發  熟悉關聯式資料庫、mongoDB和有使用過一些Message Queue的經驗  有使用過Docker及Kubernetes部署過服務,沒什麼在Leetcode上刷題 1. Line:  自己主動在求職網站投遞履歷,有點忘了當初投的職缺,但應該是Junior的後端工程師    一面:   HR會寄一個測驗連結,印象中答題時間是1個小時,題目總共10題   大概有2-3題coding的題目,難度大概在Leetcode Easy左右,主要是字串和陣列處理   剩下的則是選擇題(單、多選皆有),但包含的領域很廣   基本上一題就會是一個領域,但難度應該都不高   我有印象的內容有Security、DNS、SDN、Linux output code之類的    結果:無聲卡 2. IBM:Application Developer - Java & Web Technologies  自己主動在求職網站投遞履歷、LinkedIn上被HR詢問意願後,協助安排時間面試  總共面試過三個職缺,不過工作內容都是Java後端,所以把他們有問到的問題做統整    一面:   面試時間都是1個小時,和面試官1對1、1對2的情況都有,都會留5-10分鐘讓我提問   被問到的問題大概分為下方這幾類:   1. 使用過的技術的掌握程度:    Java、Spring Framework相關的問題    專案上使用Kafka、Solr、MongoDB的原因?    有使用過script language的經驗嗎?主要在哪種OS上開發?    讓我介紹SVN和Git的差異   2. 優化、調教的經驗:    對於Java Memory的管理方式是否清楚、是否有做過效能的優化?    如何加速關聯式資料庫內的資料撈取?   3. 設計相關:    在開發的時候有使用過Design Pattern,或是有考慮使用嗎?    我開發過專案的架構是怎麼設計的,有沒有其他更好的設計方式?    有設計過微服務的架構嗎?   4. 其他:    當拿到需求的時候要怎麼將它轉換成業務邏輯?    在開發服務的時候怎麼和其他開發者溝通,或是要怎麼設計出前端需要的物件?    離職的原因?    結果:三個職缺裡,感謝函和無聲卡都有 3. 趨勢:Software Developer  自己主動在求職網站投遞履歷    一面:   HR會寄一個測驗連結,答題時間1.5個小時,總共3題的Coding   印象中應該是一題字串處理、一題陣列處理和一題比較複雜一點的飛機安排座位問題   對於有在刷題的人來說,應該不算是太困難的問題  二面:   當天安排三個單位進行面試   第一個小時由兩個部門一起面試,第二個小時則是分配給另一個部門   三個部門都會各自介紹開發中的產品和這個職缺會需要那些能力   主要根據我在自我介紹時,提到的技術來做提問   有些他們比較有興趣的部份會繼續延伸問題      像是為什麼某個專案要採用Kafka?   Kafka在使用上的優點和特性是什麼?有沒有其他替代的方式?   如果不能使用任何Message Queue的技術,要怎麼設計架構?   這個替代的方式會遇到什麼問題?   面試結束後,HR有請我根據自己的喜好排序剛剛面試的部門的優先順序  三面:   不確定和上一輪的喜好排序結果有沒有關係,但最後是和我最希望的職缺再面試一輪   這次面試官增加了一位   由於上一輪面試比較少談到Java相關的問題,所以這一輪主要都在問Java相關的問題   印象中Java問題和IBM提到的內容差距不大,所以這邊就不贅述  四面:   到公司和HR進行現場面試   有被問到一些技術上的簡單問題,主要還是集中在個人性格和個人背景的問題   像是有沒有和其他人合作的經驗?   有沒有領導過團體的經驗?   如果有的話具體又是什麼情況?之類的問題     結果:Offer get 4. 美商網基:Java Backend Software Engineer  獵頭詢問意願後,協助面試申請    一面:   4個小時做2題,2題都是程式題,據說評分會根據程式的正確性和花的解答時間有關   題目和他們公司做的內容有關係   第二題是第一題的延伸,但會更加接近真實情況和解法的效能增進上為主     結果:獵頭告知成績未達標 5. 樂天國際商業銀行:Java後端工程師  自己主動在求職網站投遞履歷    一面:   面試時間1個小時,總共有4位面試官,應該從工程師到大主管都有   比較有印象的問題大致如下:    若讓我使用SpringBoot從頭開發一個簡單的、只需支援單張資料表CRUD的服務 會需要多少時間?    有沒有使用過除了Tomcat之外的Web server,像是JBoss或是其他server?    CD的流程是使用Jenkins嗎?如果是的話,流程又是怎麼做的?    在開發服務的時候,有特別考慮到叢集的方式來開發嗎?如何保持資料的一致性?   最後有留一點時間讓我做提問   但由於他們有需要保密的地方,所以比較難問使用的技術相關、或是工作細節的問題    結果:感謝函 6. 微軟:Technical Support Engineer-Developer  LinkedIn上被HR詢問意願後,協助安排時間面試  由於這個職缺不是後端工程師,比較偏向技術支援  所以HR有稍微介紹了這個職缺比較需要的能力和工作上會遇到的情況     一面:   Phone screen,1-1.5小時的全英文交談   技術上討論的點不多,比較多著重在英語的口語表達能力和個人性格   首先請我介紹我自己,然後大致上被問一兩個技術相關的問題後便開始下方的問題:   我認為這個職缺在技術能力和溝通能力哪個比較重要?   我目前手上有沒有Offer或是正在面試的公司,如果有,我會怎麼排序它們?   我自己覺得的3個性格上的優點,有沒有例子可以證明?   假設在工作上遇到緊急事件我會如何應對?   我是屬於冷靜的人嗎?  二面:   Role Play,30分鐘左右的英文對談,但我實際上只講了15分鐘   面試前會事先給你一份文件,介紹你所扮演的角色   讓你根據文件上設定的情境,事先思考要怎麼模擬這個角色   如果有事先準備的話應該沒什麼太大的問題,遇到問題時,對方也會提供協助  三面:   由兩位面試官一起面試,全中文交談   有技術也有個人性格的問題,但比重上是技術大於性格   其中一位會簡單介紹這個職缺會使用到的技術、需要的能力   另一位則會準備兩個簡單的測試   1. 給我一份開源的程式碼,請我找到其中的某個函式後     根據它的程式碼介紹它的功能   2. 給我一份技術文件和三個問題     讓我在5-10分鐘從這份文件中找出這三個問題的解答   最後詢問我對於這個職缺有沒有興趣?   或是有沒有什麼想法,以及我是否喜歡學習新知識  四面:   由一位面試官進行1個小時的面試,相較於前一個關卡,這個面試比較輕鬆一些   有要求使用英文自我介紹,然後他會根據介紹的內容來進行英文提問和對答  五面:   和一位面試官面談1個小時,大概15分鐘中文->20分鐘英文->25分鐘中文   問題比較偏向上一關比較沒有問到的部份   第一段偏向使用過的技術相關的問題   第二段則是使用英文回答面試官的問題,主要被問到的比較像是工作時會遭遇的情況   像是我在工作上遇到問題的時候要怎麼處理?   關於我的性格?   有沒有例子可以證明我的性格?   第三段則是輕鬆一些,被問到關於未來3-5年預期的發展   然後給我一點時間來做提問    結果:Offer get    7. 中國信託:軟體設計工程師(核心轉型)  求職網站上HR詢問面試意願後,與他商量面試時間  面試前要填一份簡單的個人的履歷檔案    一面:   面試時間1個小時,面試時用人主管和HR會一起參加,但兩者問的問題不會重疊   HR的問題就是一般人格特質的問題   再加上一些關於背景的詢問以及離開前公司的原因      用人主管的問題有如Java和Spring相關的知識,也會根據我專案使用的技術來提問   有被問到怎麼將客戶需求轉換成業務邏輯,應該是這個職缺會很需要的一個能力   所以有不少問題都是基於這個來做延伸,怎麼轉換的思路和步驟可能要說明的很明確     結果:感謝函 8. Garmin:企業流程服務課_軟體工程師  求職網站上HR詢問面試意願後,與他商量面試時間  面試前要花一點時間做性向測驗、英文測驗和個人的履歷填寫    一面:   表定上安排了30分鐘的HR面試,但我實際上大概進行了45分鐘左右   HR會按照她拿到的資料(求職網站上的履歷、公司網站上的個人履歷填寫),詳細詢問  二面:   和一位主管面試,大約兩個小時左右,首先他先介紹了這個職缺的主要工作內容   基本上會根據個人的經歷,然後按照技術的類型來做問答   像我有被問到Java、Spring、資料庫(SQL與NoSQL都有)、Kafka相關的問題   除此之外,關於結構設計上   主要是問我開發過的專案中為什麼要使用Kafka或是MongoDB之類的問題   還有我是否理解Java的memory管理的機制、有沒有Performance Tuning的經驗   此外也有提到關於這個單位的未來發展,最後也給我一些時間來提問   個人感覺主管人蠻好的,面試起來蠻愉快的     結果:已拿到其他Offer,中止面試流程 9. Ubiquiti:Sr. Backend Engineer  獵頭詢問意願後,協助面試申請    一面:   大概1.5個小時,由2位工程師一起面試   前30分鐘根據他們給的題目在類似Google Doc的網頁上直接作答   題目大概是2題Java相關的基礎知識,另外3題Coding   題型大概是簡單的數字計算、陣列處理和一個簡易的Linked list   作答時間結束之後,請我一邊解釋我的作答內容,每一步操作的內容是要做什麼   然後讓我說出我的解法的計算時間複雜度   由於這個缺比較不需要處理CD相關的流程   所以我沒有被問到Docker、Kubernetes這些技術     結果:獵頭告知已選擇其他人 10. Yahoo:Software Engineer (Backend)  從官網上投遞履歷後,與HR商量面試時間    一面:   與面試官大約一個小時的中文對談   因為這個缺和金流比較有關,所以會額外注重security相關的知識   一開始面試官會稍微介紹一下這個職缺的工作內容和使用的技術   他會從我的自我介紹的內容中選擇他比較有興趣的技術、專案的功能提問   除了上述過程的提問之外,也有被問到Java與Spring相關的知識   像是Java的==與equals()的差別?hashCode()是做什麼的?   什麼是hash?在實現hashCode()有沒有什麼需要注意的地方?      Spring的話,則是請我解釋什麼是控制反轉(IoC)與依賴注入(DI)?   和我是否有使用過@Bean來做一些操作的經驗?   由於在我面試的這個時間點,Spring有出現兩個安全性的漏洞   一個與Log4j有關,另一個則和Spring4Shell有關   所以也有被問到我是否知道這個漏洞,以及要如何去解決他們和臨時的修補方式      再來是透過類似google doc上的網頁來寫程式碼   這個部份主要是觀察遇到問題的反應能力,和一些coding的習慣   總共三題蠻基本的題目,印象中題目的暴力解都很直接,最佳解也不算特別刁鑽   然後都會要求你計算和解釋各自的時間複雜度   有時會根據你的解法再問你有沒有其他最佳解   最後有留5-10分鐘的時間讓我做提問    結果:感謝函   結論:  面試起來的感覺是,2年的工作經驗處在一個比較不上不下的情況  比Junior多一些知識和熟練度,但經驗卻又不到Senior的程度  由於準備的時間不多,所以我本身準備的內容  主要還是集中在使用的開發工具,如Java和Spring相關的知識  但其實還是很常遇到一些超出我能力的問題  像是架構設計方面的問題和效能優化的問題  這些因為我本身經驗不足,所以被問到的時候都會比較難回答  如果有時間的話可以稍微準備一下相關的知識  除此之外,不確定是不是我經歷上有寫使用Kubernetes的經驗  所以不少公司都會問到有沒有使用AWS、GCP、Azure的經驗  但由於我只有使用過自建的Kubernetes叢集  所以比較難回答相關的問題,這點比較可惜一些  若有機會的話,我想可以花一點時間培養相關的能力,應該會有些收穫    值得一提的是,如果是換工作,不論用人主管或是HR都有很高的機率會提問離職的原因  所以非常建議事先思考要如何回答和包裝一下,這邊的包裝並不是捏造的意思  而是選出你覺得比較能展現你個人優點或是特色的部份  我想,會考慮離職大概會是好幾個原因的綜合因素,而不是僅僅因為一個單純的理由  可以事先從中挑出一兩個理由,若是這個理由能讓他們接受和理解應該會有一些幫助  在投遞履歷上,除了使用比較知名的徵才網站  我也建議在Linkedin建立自己的檔案,讓其他人有辦法聯繫  雖然我在Linkedin上提供的資訊不多  我只有放上公司、學歷、技能和一個Java的技能標章  但還是接到不少詢問或是邀約,這點倒是超出我個人的預期  若是公司本身有提供窗口或是管道可以直接投遞履歷的話  使用這個方式的我覺得接到面試邀約的機會,會比前兩項更高一些    可能是因為疫情的影響,所以面試的方式和我兩年前的時候差很多  比較前面的面試主要都是使用視訊的方式  所以我比較有機會一天的下午同時排2-3個面試一起,蠻省事的  實際上我自己只有一間公司需要去現場面試  其他都是線上面試,所以我覺得對求職者來說,面試花的成本降低不少 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.184.12.61 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1651945002.A.6D7.html

05/08 02:18, 1年前 , 1F
標題跟我前段時間發的文好像XD
05/08 02:18, 1F

05/08 02:18, 1年前 , 2F
蠻好奇最後的offer是多少,因為我也是兩年,不過是前端
05/08 02:18, 2F
價格的話我不太好直接說,但和前公司比的話至少有20%以上

05/08 02:25, 1年前 , 3F
推分享,下個禮拜也要開始面試ㄌ
05/08 02:25, 3F

05/08 02:30, 1年前 , 4F
java一年推
05/08 02:30, 4F

05/08 02:41, 1年前 , 5F
想要問這些公司都前後分離嗎?不知道需不需要掌握前
05/08 02:41, 5F

05/08 02:41, 1年前 , 6F
端框架,還是一點點jquery就好
05/08 02:41, 6F
應該都是前後分離,這些職缺我沒有被問到任何關於前端的問題 不論是主流框架,甚至是最基本的Html、CSS、JavaScript都沒有被問到過 ※ 編輯: MAiKAZELaTeX (111.184.12.61 臺灣), 05/08/2022 03:13:02

05/08 03:32, 1年前 , 7F
謝謝喔,我一直在想我在寫內部系統,所以都沒機會用
05/08 03:32, 7F

05/08 03:32, 1年前 , 8F
到K8s,或是kafka,這樣是不是就只能自己去架了或是刷題
05/08 03:32, 8F
如果你對K8s內部的運作原理和機制很有興趣的話,我才會建議自架K8s 不然可能會在安裝的過程中,遇到不少麻煩需要處理,額外花掉一些時間 而且K8s的版本發展很快,我印象是每三個月會出一次minor version release 所以如果你想要用到新版本的功能的話,還要自己升級會有一點點麻煩 若你只是想要使用或是了解如何透過K8s來部署你的服務的話 Google、Amazon、微軟應該都有提供相對應的服務來使用,這個應該會省事不少 雖然應該會需要額外的支出,但可以讓你比較專注在你想要學習的東西上面 如果你真的要自己架K8s,現在應該有蠻多別人做好的安裝K8s的服務或是教學 像我當初用的kubeadm、kind(Kubernetes in Docker)或是K3s之類的 使用minikube也OK,但他只能跑執行單個node,所以會和真實的K8s叢集不太一樣 Kafka如果只是要自已玩玩看的話 啟動單個服務應該是蠻簡單的,需要的資源也應該不會太多 ※ 編輯: MAiKAZELaTeX (111.184.12.61 臺灣), 05/08/2022 07:16:20

05/08 09:10, 1年前 , 9F
感謝分享
05/08 09:10, 9F

05/08 09:20, 1年前 , 10F
推分享
05/08 09:20, 10F

05/08 09:28, 1年前 , 11F
推詳細分享
05/08 09:28, 11F

05/08 09:55, 1年前 , 12F
謝謝分享
05/08 09:55, 12F

05/08 10:59, 1年前 , 13F
推心得
05/08 10:59, 13F

05/08 11:30, 1年前 , 14F
謝詳細,感謝
05/08 11:30, 14F

05/08 11:35, 1年前 , 15F
05/08 11:35, 15F

05/08 11:44, 1年前 , 16F
05/08 11:44, 16F

05/08 12:01, 1年前 , 17F
推,年初也是兩年經驗換工作,我的經驗是想被當作Senio
05/08 12:01, 17F

05/08 12:01, 1年前 , 18F
r的話,面試回答內容不再是你會什麼,而是你用這些東西
05/08 12:01, 18F

05/08 12:01, 1年前 , 19F
做了什麼,以及優缺點等等,不然別說面試官,你自己也
05/08 12:01, 19F

05/08 12:01, 1年前 , 20F
會被問到覺得自己好像不上不下的
05/08 12:01, 20F

05/08 12:03, 1年前 , 21F
按錯補推
05/08 12:03, 21F
感謝補充,我也覺得這些問題當初在面試的時候 若沒有事先思考和準備,都會比較難回答 畢竟沒有能夠解決所有問題的萬靈藥,很多時候還是要看當時的環境來決定 但像我由於自身經驗的不足,如果只靠自己一個人思考,還是會有點難度 如果能找到一些人一起討論的話,或許會是比較好的解法也不一定

05/08 12:09, 1年前 , 22F
好奇最後選擇去哪?
05/08 12:09, 22F

05/08 12:37, 1年前 , 23F
方便問你前工作在哪嗎?是否值得去練功@@
05/08 12:37, 23F

05/08 12:40, 1年前 , 24F
想問前公司+1 想練功QQ
05/08 12:40, 24F

05/08 12:46, 1年前 , 25F
推分享~
05/08 12:46, 25F

05/08 12:49, 1年前 , 26F
05/08 12:49, 26F

05/08 13:08, 1年前 , 27F
感謝分享
05/08 13:08, 27F

05/08 13:45, 1年前 , 28F
詳細 推~
05/08 13:45, 28F

05/08 13:48, 1年前 , 29F
微軟那個support缺 錢是真的蠻多
05/08 13:48, 29F

05/08 13:49, 1年前 , 30F
但讓我選 可能會選趨勢
05/08 13:49, 30F
我當初也在考慮要怎麼選,因為兩個職缺都有我想嘗試的東西 但最後還是選擇了微軟,一來是因為公司本身的名聲 二來是這個職缺在介紹和面試的過程,有些地方蠻吸引我的

05/08 13:50, 1年前 , 31F
現在面試後端真的就是要你變全端的形狀,不然就是SR
05/08 13:50, 31F

05/08 13:50, 1年前 , 32F
E的形狀XD
05/08 13:50, 32F

05/08 14:08, 1年前 , 33F
感謝分享!
05/08 14:08, 33F

05/08 16:26, 1年前 , 34F
感謝分享,感覺英文也是一個很重要的預備技能
05/08 16:26, 34F

05/08 19:47, 1年前 , 35F
感謝分享!!
05/08 19:47, 35F
※ 編輯: MAiKAZELaTeX (111.184.12.61 臺灣), 05/08/2022 20:58:05

05/08 21:10, 1年前 , 36F
推,感謝分享。可以看到企業本質不同,要得人就不太一樣
05/08 21:10, 36F

05/08 21:17, 1年前 , 37F
也看到一個狀況就是,很多Java底層東西
05/08 21:17, 37F

05/08 21:17, 1年前 , 38F
其實要遇到碰過,才會知道原來有這狀況發生
05/08 21:17, 38F

05/08 21:18, 1年前 , 39F
其實就看面試官怎麼引導跟解釋了
05/08 21:18, 39F

05/08 21:18, 1年前 , 40F
很多時候會問到,可能就是實務上
05/08 21:18, 40F

05/08 21:18, 1年前 , 41F
有遇過類似問題,想要知道你的技能樹
05/08 21:18, 41F

05/08 21:19, 1年前 , 42F
有沒有貼近他們一點,若比較遠的時候
05/08 21:19, 42F

05/08 21:19, 1年前 , 43F
就看對方想要培養呢,還是放掉繼續找
05/08 21:19, 43F

05/08 22:13, 1年前 , 44F
感謝分享
05/08 22:13, 44F

05/08 22:21, 1年前 , 45F
05/08 22:21, 45F

05/08 22:32, 1年前 , 46F
方便問微軟這個缺主要寫java還是別的語言也碰
05/08 22:32, 46F

05/09 00:05, 1年前 , 47F
support就是客服啊 寫不到什麼吧
05/09 00:05, 47F
沒錯,當初有提到這個職缺不像軟體工程師需要寫大量的code 比較注重的是與客戶的溝通能力和協助他們處理問題的能力 所以會根據客戶的情況,需要了解或是熟悉他們使用工具比較底層的實作 這點是比較我吸引去嘗試的部分,但實際情況還是要等我到職之後才會比較清楚 ※ 編輯: MAiKAZELaTeX (111.184.12.61 臺灣), 05/09/2022 01:31:07

05/09 01:43, 1年前 , 48F
感覺面這麼多家好累,得瘋狂請假 囧
05/09 01:43, 48F

05/09 02:16, 1年前 , 49F
推 感謝分享!
05/09 02:16, 49F

05/09 06:28, 1年前 , 50F
05/09 06:28, 50F

05/09 07:59, 1年前 , 51F
不過還是建議刷個幾題easy - medium練練手,這些年頭即
05/09 07:59, 51F

05/09 07:59, 1年前 , 52F
便是前端都要求要有基本的data structure知識了。
05/09 07:59, 52F

05/09 08:00, 1年前 , 53F
尤其是有肉身翻牆出國工作規劃的人更得每天至少來十題。
05/09 08:00, 53F

05/09 08:04, 1年前 , 54F
感謝分享!
05/09 08:04, 54F

05/09 08:47, 1年前 , 55F
咦 只有微軟有需要英文面試(?)
05/09 08:47, 55F
對,我只有微軟面試的時候才有遇到使用英語對答的情況 但也有可能其他公司要到比較後面才有英語面試的關卡 不過我還沒有進展到那個階段,所以我也不能肯定 ※ 編輯: MAiKAZELaTeX (111.184.12.61 臺灣), 05/09/2022 09:01:24

05/09 09:58, 1年前 , 56F
推分享
05/09 09:58, 56F

05/09 23:27, 1年前 , 57F
推推,聽說微軟客服很精實喔XD
05/09 23:27, 57F

05/09 23:50, 1年前 , 58F
感謝分享
05/09 23:50, 58F
文章代碼(AID): #1YTgugRN (Soft_Job)
文章代碼(AID): #1YTgugRN (Soft_Job)