前言
轉自https://www.haorooms.com/post/qianduan_mianshi
javascript常見題目
一、您對js的原型是如何理解的?您對js的繼承是如何理解的?能否舉例說明js的繼承?
關於這個題目,我之前的一篇文章 http://www.haorooms.com/post/js_constructor_pro ,您可以看一下。理解一下原型prototype,關於繼承,那主要是js原型鏈的繼承。關於繼承的理解及舉例(我這里就不詳細介紹了,簡單介紹之后,你即使背過了,也不一定理解,對於公司也是不公平的)。我還是推薦面試者看一本書《[JavaScript高級程序設計(第3版)]》,這本書對js講的很詳細。關於這個題目,您可以閱讀其第六章就可以了!認真閱讀之后,相信你能理解,也能夠簡單的說出來!
關於js的繼承,確實是重點和難點,我寫過兩篇博客,大家可以看下:http://www.haorooms.com/post/js_lei_jicheng
http://www.haorooms.com/post/js_jc_lei2
二、js閉包?舉例並說明其主要的作用!
關於閉包,其實是指有權訪問另一個函數作用域中變量的函數。具體我之前也寫過一篇文章,可以看一看!
javascript閉包的理解 http://www.haorooms.com/post/js_bb
javascript閉包入門理解(二):http://www.haorooms.com/post/js_bbtwo
三、js數組主要有哪些方法?主要參數你了解嗎?
具體你可以查一下,常用的一般有如下:
1 、shift():刪除數組的第一個元素,返回刪除的值。這里是0
2 、unshift(3,4):把參數加載數組的前面,返回數組的長度。現在list:中是3,4,0,1,2
3、pop():刪除數組的最后一個元素,返回刪除的值。這里是2.
4、push(3):將參數加載到數組的最后,返回數組的長度,現在List中時:0,1,2,3
5、concat(3,4):把兩個數組拼接起來。
6、splice(start,deleteCount,val1,val2,...):從start位置開始刪除deleteCount項,並從該位置起插入val1,val2,...
7、reverse:將數組反序
var a = [1,2,3,4,5]; var b = a.reverse(); //a:[5,4,3,2,1] b:[5,4,3,2,1]
8、sort(orderfunction):按指定的參數對數組進行排序 var a = [1,2,3,4,5]; var b = a.sort(); //a:[1,2,3,4,5] b:[1,2,3,4,5]
9、slice(start,end):返回從原數組中指定開始下標到結束下標之間的項組成的新數組
var a = [1,2,3,4,5]; var b = a.slice(2,5); //a:[1,2,3,4,5] b:[3,4,5]
四、js迭代的方法
every() 、fliter()、forEach()、map()、some()具體大家可以查一下!
五、js數組去重和排序
具體我就不詳細描述了。
六、js正則表達式
關於正則:http://www.haorooms.com/post/js_regex_refuse ,這篇文章應對面試足夠了!
讓你寫個簡單的正則,去掉字符串左右空格。具體看看我之前的文章http://www.haorooms.com/post/js_kong_ge
關於正則,你可以去了解一下!
七、純js的ajax請求原理
可以查詢,了解一下!看下這幾篇文章http://www.haorooms.com/post/js_ajax_chun 和http://www.haorooms.com/post/js_shixian_jquery 最后關於js實現ajax的,最新出了js的fetch方法,很不錯的!
八、js模塊化
可以看下我之前的文章:http://www.haorooms.com/post/js_require_zz
九、雙等號隱性轉換
具體看文章:http://www.haorooms.com/post/js_yinxingleixing
十、js操作符,字符串截取等
具體請看:http://www.haorooms.com/post/js_czf_mst
字符串截取,substr 、substring等的區別
十一、js中繼承中call和apply()的區別
用法差不多,傳遞參數不同。具體你可以網上查查,也可以看下我的文章 http://www.haorooms.com/post/js_constructor_pro
十二、類數組轉換為數組的方法
Array.prototype.slice.call(arguments);
十三、cookie 不設置過期時間,默認過期時間是多少?
關閉瀏覽器就結束了
十四、改變數組長度的方法有哪些?
shift、unshift、pop、push
十五、js事件循環 event loop
請看文章:http://www.haorooms.com/post/js_xiancheng
十六、require 和 import的區別
看文章:http://blog.csdn.net/qq_28702545/article/details/54892562
jquery常見題目
一、jquery源碼研究過沒有?
二、jquery插件寫過沒有,一般如何寫?
可以看我之前的一篇文章:http://www.haorooms.com/post/js_jquery_chajian
三、jquery的bind(),live(),delegate(),on() 區別
網上可以搜索一下,看一下!
前端常見題目
一、如何處理跨域?
jsonp等,可以看下我寫的 瀏覽器跨域訪問解決方案
二、如何處理緩存?如何清除緩存。
ajax隨機數、ajax參數、meta中設置等。可以看下我寫的 js清除瀏覽器緩存的幾種方法
三、http請求問題,HTTP請求信息由那3部分組成?
1、請求方法URI協議/版本 (例如:GET/haorooms.jspHTTP/1.1) 2、請求頭(Request Header)(例如:Accept:image/gif.image/jpeg.*/* Accept-Language:zh-cn Connection:Keep-Alive Host:localhost等等) 3、請求正文
關於圖片的請求,可以看我之前的一篇文章 http://www.haorooms.com/post/web_http_request
四、前端性能優化問題,你是如何處理前端性能問題的?
看我之前的一篇文章:http://www.haorooms.com/post/web_xnyh_jscss 及 前端性能優化補充篇
五、網站js和css如何壓縮?有哪些方法?
ant+yuicompressor具體可以看看我之前的一篇文章:http://www.haorooms.com/post/ant_yuicom
ant:http://www.haorooms.com/tools/ant_book/
SASS等 可以對css進行自動壓縮!
也可以用Grunt構建工具進行。可以看下 前端js和css的壓縮合並之grunt
六、用到哪些css插件?
bootstrap,animate.css 等
七、讓你自己搭建一個網站,你是如何做架構的?
考察前端架構能力。
八、一些狀態碼你了解嗎?
200成功類、300重定向類、400客戶端類、500服務器端類。具體可以網上查一下!
九、如何用瀏覽器進行代碼調試?
谷歌瀏覽器、火狐、IE等。(不明白的同學具體網上可以查一下)
十、json字符串轉為json的方法
具體請看:http://www.haorooms.com/post/js_jsons_h
http://www.haorooms.com/post/json_object_json_string
html+css+html5+css3 常見題目
一、假如一個頁面,左側固定,右側自適應,你是如何做到的?
方法很多,一般是margin和浮動,具體可以網上查一下。很簡單。
二、html5新的標簽和特性有哪些?
html5標簽有很多,你可以網上查一下。
三、你常用的css3有哪些?說出你記得的。
哈哈哈,這個很多,你要再復習一下css3包括其動畫等等。
四、如何處理瀏覽器兼容性問題?
請看:http://www.haorooms.com/post/IE_jianrong
五、如何用css美化radio、checkbox等按鈕樣式?
具體可以看我的一篇文章:http://www.haorooms.com/post/css_mh_ck_radio
web touch常見題目
一、做手機網站長見的兼容問題有哪些?
看下手機網站相關文章。
二、網站如何自適應的?響應式網站一般如何制作?
可以隨便聊聊。可以看下http://www.haorooms.com/post/css3media
三、zepto.js使用過程中有哪些問題?jquerymobile用過嗎?會有哪些問題?
用過的話,可以隨便聊一下!
加分項
例如,你們聊到數據庫,數一下如何用mongo做分頁等等,包括mysql數據庫等等。
聊到inux系統,linux常用的命令。
聊到angularjs,vue.js、angularjs的指令,雙向數據綁定。MVVM模式和mvc模式的區別及mvp模式。
聊到前端架構,及百度fits的jello等。
聊到常用的版本控制工具git或者SVN,講講git常用的命令,git回滾到某個版本怎么做( $ git reset --hard 某個版本號)
人事面試
人事面試和技術面試是有區別的,人事一般問一些概況總結方面的問題,我下面舉一些列子吧!
一、你做了這么多項目,讓你感受最深,印象最深的是哪個項目?你從中學到了什么?為什么會感受最深?
二、做前端開發這么多年來?說下你的感受吧!
三、簡單自我介紹一下自己。
四、你對公司有什么需要了解的?
五、談到薪資,談到離職原因,談到未來幾年的規划等等,我在這里就不具體說了。
上面是我面試過程中最常見的一些問題。注意:面試的時候千萬要真誠,不要撒謊,是什么就是什么,我列舉上面題目的原因是有些前端人員可能技術很好,但是面試的時候緊張,沒有准備。這樣你簡單准備了之后,就能發揮自己正常水平!廣大朋友們,加油吧!