前言
今天第一次參加面試,但是一個很棒的經驗,在這邊記下來面試遇到的一些問題,避免自己再次的跳坑。
問的問題
General
1. Server Side render vs. Client Side render
兩者個別的優缺點為何?
運作方式的差異在哪裡?
2. Front End & SEO
這個問題面試官問我有甚麼辦法可以讓 SEO 更好,身為一位前端工程師的話。因為之前沒有特別整理這方面的資訊,再加上現在開發根本不管 SEO 直接 GG,結束後我想了一下下次面試前給自己往幾個方向加強:
- 速度
如何在較短的時間內完成 request 或是使用 cache 機制。 - attribute
表示區塊功能的標籤
另外,面試的時候有提到 script 標籤你面放 async 以及 differ 標籤,兩者的用意為何?<header> <nav> <footer>
- Coding Style
讓 code 乾淨,以及一些細部的差異,這部分留待補充。 - 壓縮檔案的大小
使用 bundler。
CSS
1. layout
- position
- flexbox
#### 2. box-model - padding
- margin
- border
- box-sizing
JavaScript
1. event loop
- how it works?
- different between micro macro
- async
2. bubbling and capturing
- current target vs target
- how to apply in project
3. var let const
這部分我拆成兩組比較:
var + let
vsconst
let + const
vsvar
比較特點:
- conatant or not
- functional scope and block scope
用 for loop 來當作例子 - different behavior in hoisting
- var 可以重新宣告邏輯
React
Redux
導入 Redux 很重要,今天面試官出乎意料的花了許多時間在 redux 上面,下次面試前的目標就是熟悉 Redux 並且把它導入到目前的專案。
其他零零總總
主要向面試官解釋 useState 以及 useEffect 的使用。
專案經驗
dataflow
在進行 coding 之前一定要好好規劃 dataflow 不要直接來。
schema design
hook 的使用邏輯
data structure
總結
今天整體來講其實並不難,大概八成以上的題目是有完成回答的,優化的部分完全沒碰過直接掛掉,還有專案經驗太少所以有很多東西講得不夠深,下次面試之前要試著補足這一部分的不足,然後快速完成目前手上的專案,籌措經驗。
面試過後大概知道為甚麼大家都要 senior instead of junior engineer,這是一們非常看經驗的工作,但我認為還是有公司會花力氣去培養 junior 的,只是我的程度還差了一些,再給自己兩周的時間。
另外,還有一點就是今天講的很教課書,希望下次有辦法融合自己的經驗講述會更好。