2018/01/15 面試題目
筆試
公司的筆試…PTT 有答案…而且連錯字都一樣…… 對了,我有和公司說,考題已經洩漏了喔。
面試
CSS
- 如果要完成水平與垂直置中,怎麼做?
margin用x auto、flex也有水平與垂直置中的功能。文字還可以用 text-align 置中。 1.1. 還有嗎?
我沒有想到了。 - display 有哪些屬性?
none,inline,block,inline-block,flex,grid2.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(=>這玩意)之類的。我用過letand 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-item2.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 懂一點了。