程式設計背景
共 1 條筆記
2025-08-12 09:38
您的瀏覽器不支援 audio 元素。 📑 智慧總結 音訊資訊 時長 :約58分鐘 參與人數 :約4人 場景型別 :技術崗位面試訪談 內容總結 候選人技術背景
教育與開發方向 :候選人Jackson大學本碩均為電腦科學專業,最初學習Java開發,涉及J2EE和安卓專案,後轉向React技術棧,專注於前端和React Native開發,並在GitHub上貢獻過產品。
對Dealer Studio理解 :Jackson認為Dealer Studio可能是遠端辦公公司,崗位有前後端之分,猜測與汽車行業相關。面試官補充介紹公司主要業務為為汽車經銷商搭建網站、提供內容管理系統、客戶管理系統、移動應用,以及庫存聚合工具和分析,前端使用React、Next.js和React Native等技術。 過往工作技術棧與工具
技術棧 :Jackson在前端主要使用TypeScript,因React Native產品需求,呼叫Java、Objective - C等原生層能力,使用MongoDB和REST API管理與獲取資料,利用Github actions管理CI/CD,藉助Expo EAS構建和釋出專案,使用React Native測試庫、React Query等進行測試與資料請求管理,還運用React導航等技術。
除錯經驗 :在iOS開發中,遇到React與React Native專案程式碼複用問題,透過建立共享資料夾放置可複用元件解決;使用相機API等原生API時,因Expo官方文件不足,需參考第三方文件。在選擇React Native專案解決方案時,權衡Expo託管專案、Expo預構建解決方案和純React Native專案的利弊。 UI除錯與HTTP知識
UI除錯工具 :除錯UI問題時,主要使用Chrome開發工具檢視網路、UI元素和原始碼,利用React Native開發者工具除錯React元件行為,若使用Redux,還會藉助Redux開發工具追蹤資料流,但該工具學習和使用難度較大。
HTTP方法與框架 :HTTP常見方法有GET、POST、DELETE等,在React或React Native社羣中,Axios是常用的處理HTTP請求的框架,在Node.js後端開發中,使用Express框架結合Axios實現HTTP請求與響應,需用JSON解析響應體,處理異常,考慮非同步請求的同步處理方式。 狀態管理與Git操作
React狀態管理 :React狀態管理有多種框架,如Redux,透過單向資料流,在一個資料中心管理狀態,核心元件包括action、reducer、dispatcher,便於除錯和元件間通訊;還有其他方式,如使用元件內的useState、props以及自定義hooks進行狀態管理。useEffect用於在元件渲染後執行有副作用的操作,與純函式元件不同。
Git與Github操作 :候選人日常使用Git命令列管理程式碼,如git add、git commit、git push等,使用git rebase和git merge處理程式碼合併與衝突。在Github上進行程式碼審查、提交pull請求、整合部署、自動化測試和CICD流水線,還利用Wiki模組撰寫文件,支援Markdown格式。 React Native導航與樣式處理
導航處理 :主要使用React Navigation進行導航,遵循其規則呼叫navigate函式實現頁面跳轉,最新版本可使用App Router技術註冊不同頁面,遇到問題會藉助AI工具解決,尤其關注原生部分開發。
樣式處理 :React Native不能直接使用CSS,可在元件內編寫樣式屬性,或藉助某些橋樑使用CSS,還可利用元件的內建樣式屬性。日常工作中常藉助AI工具進行樣式處理,提高效率。 應對程式碼修改與時間管理
程式碼修改應對 :當他人提出刪除自己編寫兩天的程式碼並提供更好解決方案時,首先要充分理解對方意圖,進行調研,瞭解刪除原因,為溝通做好準備;然後明確刪除程式碼的必要性及替代方案,再決定是否同意,同時也會提出自己的建議。
時間管理 :面臨截止日期和同事可能延誤的情況,先向主管反饋,尋求如推遲幾天或調整任務優先順序等建議;與同事合作,瞭解專案進度,共同探討問題,讓同事提前意識到可能的延誤並在日常會議中說明,以便提前提供幫助。 📅 章節概要 00:00:53 訪談開場與候選人背景詢問 訪談開始,說話人0介紹自己來自美國工作室,與全球團隊成員Lana一同對Jackson進行面試,因其技術評估給團隊留下深刻印象。隨後說話人1開始提問,讓Jackson介紹自己的編碼背景以及如何進入該領域。Jackson表示大學本碩均為電腦科學專業,從Java開發起步,參與過J2EE和安卓專案,之後轉向React技術棧,專注前端和React Native開發,並在GitHub上有產品貢獻,享受前端開發帶來的樂趣和成就感。 00:03:39 對Dealer Studio的探討 說話人2詢問Jackson對Dealer Studio的瞭解。Jackson認為它可能是遠端辦公公司,從崗位描述推測與汽車行業相關。接著說話人2補充介紹公司業務,主要為汽車經銷商搭建網站,涵蓋網站建設、內容管理系統、客戶管理系統、移動應用開發,還有庫存聚合工具和分析等,前端使用React、Next.js和React Native等技術。 00:06:14 過往工作技術棧闡述 說話人2詢問Jackson上一份工作使用的框架和技術。Jackson詳細介紹了自己使用的技術棧,前端以TypeScript為主,因React Native產品需求呼叫Java、Objective - C等原生層能力,使用MongoDB和REST API管理與獲取資料,藉助Github actions管理CI/CD,透過Expo EAS構建和釋出專案到應用商店,還使用React Native測試庫、React Query等進行測試與資料請求管理,以及React導航等技術。 00:10:14 除錯經驗分享 說話人3請Jackson舉例說明除錯過程及解決問題的方法。Jackson講述在iOS開發中遇到React與React Native專案程式碼複用難題,透過建立共享資料夾放置可複用元件解決;使用相機API等原生API時,因Expo官方文件不足,需參考第三方文件。同時,他還介紹了在選擇React Native專案解決方案時,對Expo託管專案、Expo預構建解決方案和純React Native專案三種方案的利弊權衡。 00:15:19 UI除錯與HTTP知識交流 說話人3詢問若UI出現問題如何解決。Jackson表示主要利用Chrome開發工具、React Native開發者工具以及Redux開發工具(若使用Redux)進行除錯。之後說話人3又問到HTTP基本方法及與API互動相關知識,Jackson介紹了HTTP常見方法,以及在React或React Native社羣和Node.js後端開發中處理HTTP請求的框架和相關注意事項,如使用JSON解析響應體、處理異常、非同步請求的同步處理等。 00:20:18 狀態管理相關討論 說話人1請Jackson解釋React中的狀態管理,以及useState和useEffect的區別。Jackson介紹了多種狀態管理框架,以Redux為例說明其單向資料流、核心元件及在大型專案中的優勢,還提及其他狀態管理方式,如useState、props和自定義hooks。同時,他解釋了useEffect用於在元件渲染後執行有副作用的操作,與純函式元件的不同之處。 00:29:29 Git操作說明 說話人3詢問Jackson對基本Git工作的理解。Jackson表示每天使用Git和Github,透過命令列使用git add、git commit、git push等命令管理程式碼,用git rebase和git merge處理程式碼合併與衝突。在Github上進行程式碼審查、提交pull請求、整合部署、自動化測試和CICD流水線,還利用Wiki模組撰寫支援Markdown格式的文件。 00:34:50 React Native導航與樣式處理探討 說話人3詢問Jackson在React Native中如何處理導航。Jackson表示主要使用React Navigation,遵循其規則呼叫navigate函式實現頁面跳轉,新版本可使用App Router技術註冊頁面,遇到問題會藉助AI工具解決,且更關注原生部分開發。接著說話人3詢問樣式處理方式,Jackson介紹了React Native不能直接使用CSS,可在元件內編寫樣式屬性、藉助橋樑使用CSS或利用元件內建樣式屬性,日常常藉助AI工具處理樣式。 00:42:39 程式碼修改與時間管理問題探討 說話人0提出假設問題,若他人提出更好解決方案要刪除自己編寫兩天的程式碼怎麼辦。Jackson表示首先要充分理解對方意圖,進行調研,明確刪除必要性及替代方案,再決定是否同意,同時也會提出自己的建議。之後說話人0又問到面臨截止日期和同事可能延誤的情況如何處理,Jackson稱會先向主管反饋,與同事合作瞭解進度,讓同事提前意識到延誤並在日常會議說明,以便提前提供幫助。 00:56:22 訪談結束 Jackson表示事先深入瞭解了公司資訊,感謝面試官的時間、坦誠與耐心,本次訪談結束。 📋 待辦事項 本次訪談未明確提及待辦事項。
