2018/01/15 面試題目
筆試
公司的筆試…PTT 有答案…而且連錯字都一樣…… 對了,我有和公司說,考題已經洩漏了喔。
面試
CSS
- 如果要完成水平與垂直置中,怎麼做?
margin
用x auto
、flex
也有水平與垂直置中的功能。文字還可以用 text-align 置中。 1.1. 還有嗎?
我沒有想到了。 - display 有哪些屬性?
none
,inline
,block
,inline-block
,flex
,grid
2.1. 你通常用哪個屬性切板?
block
。有些更老的還有float
。 - SASS 有什麼優點?
巢狀選擇器、變數、mixin。 3.1. 那你怎麼用 SASS?
純前端如node
會選擇gulp-sass
之類的、後端框架如rails
同樣也有sass
可選。
JS
(括弧內都是我的註解,沒和考官說明)
- 你之前除了 jQuery 還用過什麼框架?
Vue 與 Angular1。react 稍微用過,但因為不喜歡他的想法(JSX 把 HTML 寫進 JavaScript 嚴重牴觸我的三觀)所以沒有深究。 - 你知道 REST 嗎?
一種設計模式。傳統的 URL 是一個頁面加上問號、參數、值(例如example.com/foobar.php?foo=1?bar=2000
)--但 REST 把這些東西用 / 表示(example.com/foobar/1/2000
)能令網站更好維護。 - 你知道請求有哪些狀態嗎?除了
GET
以外。
GET
,POST
,PUT
,UPDATE
,DELETE
- 你用過哪些套件發動非同步請求?
除了 jQuery 以外,如果專案不大,我會用原生。我也曾經用過 axios 還有 request 套件。 - 你知道 ES6 嗎?
我知道:let
,const
, arrow function(=>
這玩意)之類的。我用過let
and arrow。 5.1. 那你知道Promise
嗎?
我知道,不過我還是沒用成功過。 5.2. 那 Fetch 呢?
聽過,應該是類似 Promise 的東西? - 框架值是什麼?
不知道。 - 你怎麼開發專案?
以我的作品集為例,我用的是 Vue。我用 gulp 找到需要的套件、看好手冊後,就開工,讓 gulp 幫我完成事情。 7.1. 除了 gulp 還有其他的嗎?
噢......我知道有 webpack 的存在,但我還在研究。
(其實我有點排斥 webpack 把什麼都包在一起的概念......)
other
- 用過 Git 嗎?
我用過。 1.1. 那你怎麼用的?指令列?圖形介面?
都有。小烏龜、vscode、指令都有用過。還有 Github 之類的……
面試反省
- 如果要完成水平與垂直置中,怎麼做?還有嗎?
還有很多方法。:line-height
,::before
,::after
,calc
......等等:甚至你要用position:absolute
也是答案。 - display 有哪些屬性?
MDN 直接上。我漏了table
,flow
,list-item
2.1. 你通常用哪個屬性切板?
其實我該早點用 Flex 的…… - SASS 有什麼優點?
身為 CSS preprocessor 的作者,我還算滿意自己的答案。
SASS 還是有些特點,不過我覺得易於維護的特點已經講到了。
JS 反省
- 你之前除了 jQuery 還用過什麼框架?
我知道很多公司很愛 react,但不喜歡就是不喜歡。 - 你知道 REST 嗎?
差得遠了:雖然依舊是一種設計模式,但 REST 的意思是給出一段網址,稱為資源(resource);配合 HTTP 的請求狀態,就可以完成特定的請求:例如說給出example.com/foobar/1/2000
的網址──也就是資源──再配合 HTTP 的PATCH
就可以叫用戶端發起更新foobar/1/2000
資源的請求。Ref: iHower - 你知道請求有哪些狀態嗎?除了 GET 以外。
沒有UPDATE
、少了PATCH
與CONNECT
。 - 你用過哪些套件發動非同步請求?
唔…… - 你知道 ES6 嗎?
呃…… 5.1. 那你知道 Promise 嗎?
啊…我還是不懂概念…… 5.2. 那 Ftech 呢?
Fetch 不是 Promise 的那一類。。。
- 框架值是什麼?
好像沒有人知道。是我聽錯嗎? - 你怎麼開發專案?
我當然有自己的 Freestyle... 7.1. 除了 gulp 還有其他的嗎?
gulp, grunt, node-script, webpack, babel, eslint 都可以算是前端常用工具
other 反省
- 用過 Git 嗎?那你怎麼用的?指令列?圖形介面?
好像也沒什麼好說的?
20180516 增筆:
- 關於非同步請求:其實也不用寫過太多函式庫啦,畢竟都是要做 AJAX 請求的。比起來,懂得非同步還有 Promise 觀念更重要。原生、axios、還有 request,我想差不多啦。
- ES6 真是個大坑。裡面有太多太多我不懂的東西。但至少 Promise 懂一點了。