2018/01/15 面試題目

筆試

公司的筆試…PTT 有答案…而且連錯字都一樣…… 對了,我有和公司說,考題已經洩漏了喔。

面試

CSS

  1. 如果要完成水平與垂直置中,怎麼做?
    marginx autoflex 也有水平與垂直置中的功能。文字還可以用 text-align 置中。 1.1. 還有嗎?
    我沒有想到了。
  2. display 有哪些屬性?
    none, inline, block, inline-block, flex, grid 2.1. 你通常用哪個屬性切板?
    block。有些更老的還有 float
  3. SASS 有什麼優點?
    巢狀選擇器、變數、mixin。 3.1. 那你怎麼用 SASS?
    純前端如 node 會選擇 gulp-sass 之類的、後端框架如 rails 同樣也有 sass 可選。

JS

(括弧內都是我的註解,沒和考官說明)

  1. 你之前除了 jQuery 還用過什麼框架?
    Vue 與 Angular1。react 稍微用過,但因為不喜歡他的想法(JSX 把 HTML 寫進 JavaScript 嚴重牴觸我的三觀)所以沒有深究。
  2. 你知道 REST 嗎?
    一種設計模式。傳統的 URL 是一個頁面加上問號、參數、值(例如 example.com/foobar.php?foo=1?bar=2000 )--但 REST 把這些東西用 / 表示( example.com/foobar/1/2000 )能令網站更好維護。
  3. 你知道請求有哪些狀態嗎?除了 GET 以外。
    GET, POST, PUT, UPDATE, DELETE
  4. 你用過哪些套件發動非同步請求?
    除了 jQuery 以外,如果專案不大,我會用原生。我也曾經用過 axios 還有 request 套件。
  5. 你知道 ES6 嗎?
    我知道:let, const, arrow function(=> 這玩意)之類的。我用過 let and arrow。 5.1. 那你知道 Promise 嗎?
    我知道,不過我還是沒用成功過。 5.2. 那 Fetch 呢?
    聽過,應該是類似 Promise 的東西?
  6. 框架值是什麼?
    不知道。
  7. 你怎麼開發專案?
    以我的作品集為例,我用的是 Vue。我用 gulp 找到需要的套件、看好手冊後,就開工,讓 gulp 幫我完成事情。 7.1. 除了 gulp 還有其他的嗎?
    噢......我知道有 webpack 的存在,但我還在研究。
    (其實我有點排斥 webpack 把什麼都包在一起的概念......)

other

  1. 用過 Git 嗎?
    我用過。 1.1. 那你怎麼用的?指令列?圖形介面?
    都有。小烏龜、vscode、指令都有用過。還有 Github 之類的……

面試反省

  1. 如果要完成水平與垂直置中,怎麼做?還有嗎?
    還有很多方法。line-height, ::before, ::after, calc......等等:甚至你要用 position:absolute 也是答案
  2. display 有哪些屬性?
    MDN 直接上。我漏了 table, flow, list-item 2.1. 你通常用哪個屬性切板?
    其實我該早點用 Flex 的……
  3. SASS 有什麼優點?
    身為 CSS preprocessor 的作者,我還算滿意自己的答案。
    SASS 還是有些特點,不過我覺得易於維護的特點已經講到了。

JS 反省

  1. 你之前除了 jQuery 還用過什麼框架?
    我知道很多公司很愛 react,但不喜歡就是不喜歡。
  2. 你知道 REST 嗎?
    差得遠了:雖然依舊是一種設計模式,但 REST 的意思是給出一段網址,稱為資源(resource);配合 HTTP 的請求狀態,就可以完成特定的請求:例如說給出 example.com/foobar/1/2000 的網址──也就是資源──再配合 HTTP 的 PATCH 就可以叫用戶端發起更新 foobar/1/2000 資源的請求。Ref: iHower
  3. 你知道請求有哪些狀態嗎?除了 GET 以外。
    沒有 UPDATE、少了 PATCHCONNECT
  4. 你用過哪些套件發動非同步請求?
    唔……
  5. 你知道 ES6 嗎?
    呃…… 5.1. 那你知道 Promise 嗎?
    啊…我還是不懂概念…… 5.2. 那 Ftech 呢?

Fetch 不是 Promise 的那一類。。。

  1. 框架值是什麼?
    好像沒有人知道。是我聽錯嗎?
  2. 你怎麼開發專案?
    我當然有自己的 Freestyle... 7.1. 除了 gulp 還有其他的嗎?

gulp, grunt, node-script, webpack, babel, eslint 都可以算是前端常用工具

other 反省

  1. 用過 Git 嗎?那你怎麼用的?指令列?圖形介面?
    好像也沒什麼好說的?

20180516 增筆:

  1. 關於非同步請求:其實也不用寫過太多函式庫啦,畢竟都是要做 AJAX 請求的。比起來,懂得非同步還有 Promise 觀念更重要。原生、axios、還有 request,我想差不多啦。
  2. ES6 真是個大坑。裡面有太多太多我不懂的東西。但至少 Promise 懂一點了。