我被問得最多的十個JavaScript前端面試問題

jopen 9年前發布 | 26K 次閱讀 JavaScript
 

過去幾個月我一直在面試前端有關的職位,在面試環節經常被問到一些技術問題。我覺得可以跟大家分享一下。兩次面試是通過在線答題進行的,兩次是面對面,還有兩是通過skype。我申請的職位都是非常非常初級的,不是 中級/資深的職位。

我知道有很多人不同意這種類型的面試。其實不管你喜不喜歡,你都得接受。尤其當你是自學的,而且要申請第一份工作時。

我估計很多有人其它方法來證明他自己,像Github/ 項目地址可能是非常理想的證明方法,但也別全都指望這些。

好消息是有一些很難的問題,在有限的時間里我沒答上來(比如說Event Loop和楊輝三角),一些其它面試侯選人也承認他們也沒答上來,這會讓討論變得輕松很多。

壞消息是有些面試之后就沒有任何反饋了。有三家公司再也沒聯系過。這點擊打擊自信,而且沒有受到尊重。然后你可能會有心理斗爭,“面試的不夠好?”,“他們不喜歡我這種類型?”。所以如果你是面試官,請給你的面試者一個明確的答案,即使是自動回復也比什么都沒有的強。

1. 設計一個函數返回第n行的楊輝三角。(整個面試只有這一個問題)

注* 楊輝三角也叫Pascal’s Triangle

1

1     1

1     2     1

1     3     3      1

...

2. 設計一個函數,返回一串字符串中重復次最多的單詞。

3. 使用遞歸打印長度為n的費波那契數列。

注* 費波那契數列由0和1開始,之后就由之前的兩數相加 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233

4. 解釋一下 bind, apply和call的用法和區別。

5. 解釋一下什么是event delegation(事件代理)和它為什么有用。

6. 什么是event loop (事件循環)?

7. hoisting(聲明提升)在JavaScript里是怎么工作的?

8. 描述一下你在設計應用或網站時的流程。

9. 你最希望JavaScript或瀏覽器中添加哪些功能,為什么?

10. 函數式編程和命令式編程之間的區別?你喜歡哪一個?

注* 5個經典的前端面試問題 

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!