面試問答
請說明 Spring 的 IOC 和 DI 是什麼,以及它們之間的關係。
IOC(控制反轉)是...
剛開始有先詢問是 HR 還是技術主管面試,原本表示為 HR,但後來為技術主管面試。
面試流程大致如下:
1. 職務確
認: 一開始,面試官就明確點出這份工作是駐點性質,會需要到客戶端(主要是金融業)上班,確認我是否理解並接受。
2. 履歷深掘: 面試官有仔細看過履歷,並針對我的經驗提出問題。
3. 技術問答: 接著是核心的技術問題,主要圍繞在 Spring 的核心觀念、Bean 的生命週期、Spring Security 的使用經驗,以及 Maven 的功能。
4. 經驗分享: 聊到 AI 輔助工具的使用心得,以及對雲端的涉獵程度。
5. 公司介紹: 公司主要業務有專案開發和人力駐點兩種。
主要客戶是金融業及上市櫃公司。
這個職缺是駐點,面試分為兩階段:第一階段是跟奧米面試,通過後,履歷會送交客戶;第二階段是與客戶進行二面。
錄取後,是奧米科技的正職員工,勞健保和福利都跟著奧米。
6. 個人狀況: 最後聊到個人狀況,包含:
(1) 是否自備筆電
(2) 居住地,並提到客戶大多在內湖或南港
(3) 可報到時間
(4) 期望薪資
整體來說,面試官人很好,不吝於分享,甚至給了我一些職涯建議(例如 1、3、5 年規劃)。
他強調他們更看重工程師對技術的熱情和學習態度。
面試問答
請說明 Spring 的 IOC 和 DI 是什麼,以及它們之間的關係。
IOC(控制反轉)是一個設計概念,DI(依賴注入)是它的一種實作方式。
IOC 的核心是把 new 物件的控制權,從開發者手上交給 Spring 容器。
DI 則是 Spring 容器將 Bean(物件)注入(例如透過建構子或 setter)到需要它的地方。
請說明你對 Spring Bean 的理解,以及它的生命週期。
Bean 是被 Spring 容器管理的物件。
生命週期大致是:
1. 實例化、2. 屬性填充(注入依賴)、3. 初始化(例如呼叫 @PostConstruct 方法)、4. 使用中、5. 銷毀(例如呼叫 @PreDestroy 方法)。
專案中為什麼會使用 Spring Security?使用它和不使用它最大的差別是什麼?
依據個人專案經驗回答
Maven 在專案中扮演什麼角色?除了管理依賴(dependency)還能做什麼?
1. 管理依賴,方便引入第三方套件(package)
2. 它也是一個專案管理工具,可以用來「打包」專案(例如打成 JAR/WAR 檔)
用了 AI 輔助工具後,最大的幫助和最不好的地方是什麼?
依照個人使用經驗回答
詢問過去的工作經驗,以及為什麼想轉職?
依照個人經驗回答
詢問對駐點工作的接受度,以及未來可能的上班地點
依照個人經驗回答
面試建議
1. 基礎觀念要紮實: 面試官非常重視 Java 和 Spring 的核心觀念(IOC/DI, Bean Lifecycle)。
與其死記硬背,不如真的去理解這些設計模式為什麼存在,能解決什麼問題。
2. 誠實面對經驗: 如果有經驗上的落差,建議誠實說明,並展現你強烈的學習意願和轉職動機。
面試官能理解,且更在乎你的態度。
3. 了解駐點模式: 這份工作是駐點,意味著會有兩次面試(一次奧米,一次客戶)。
要做好心理準備,你的日常工作環境和同事會是客戶端的人。
4. 準備好聊聊你自己: 除了技術,面試官花很多時間在了解你的軟實力,例如你對工程師這份工作的看法、你如何規劃職涯、你對新工具(如 AI)的態度。
展現出積極、樂於學習的態度會非常加分。
5. 薪資與地點: 奧米的主要客戶在金融和科技業,地點多在內湖、南港。
對於薪資,可以先了解市場行情,求職者可以自行斟酌。