hello,大家好笆呆,我是拾光请琳。
今天給大家分享一些前端工程師面試時,面試官可能會考你的問題赠幕;
給大家參考一下俄精,如果覺得好,可以收藏下來或者關(guān)注我榕堰,以便于下次瀏覽竖慧;
由于面試題也很多,今天給大家整理一部分逆屡,我可能不會連載著發(fā)布文章圾旨,但是標(biāo)題我已經(jīng)編號了,后期我也會陸續(xù)的搜集一些面試材料魏蔗,希望前端工程師們面試時能夠游刃有余的解決大部分問題砍的。
謝謝大家;
打開網(wǎng)易新聞 查看更多精彩圖片 >
a) ul莺治、ol廓鞠、dl的區(qū)別?
b) div谣旁、section床佳、article的區(qū)別?
a:ul是無序列表榄审,ol是有序列表砌们,dl是定義列表有層次關(guān)系。
b: div section article ,語義是從無到有怨绣,逐漸增強的角溃。
div 無任何語義拷获,僅僅用作樣式化或者腳本化的鉤子(hook)
section是有一定語義的div篮撑,適合有主題性的內(nèi)容,表示一個專題匆瓜,一般有標(biāo)題赢笨,但是不可以亂用。只有內(nèi)容明確需要出現(xiàn)在大綱中時才會使用驮吱。
artical是更特殊的section茧妒,他是一個獨立完整的內(nèi)容塊。比如用在文章左冬,評論等桐筏。
二、html5對input新增了哪些高級屬性拇砰?(5分)number梅忌,date,color除破,range牧氮,datetime,email瑰枫,tel踱葛,range,search等
三光坝、每題都需回答(15分)
a) 如何用CSS控制文本單行溢出省略尸诽?并且大致說出多行省略的思路。
b) 談?wù)勴憫?yīng)式布局盯另?
c) CSS3有哪些高級選擇器性含?
a:css實現(xiàn)單行溢出省略是利用text-overflow:ellipsis,white-space:nowrap和overflow:hidden屬性實現(xiàn)的土铺。(新版主流瀏覽器測試通過)
多上省略:適用于webkit內(nèi)核和移動端
overflow : hidden;
text-overflow: ellipsis;
display: -webkit-box;-webkit-line-clamp: 2;-webkit-box-orient: vertical;
b:響應(yīng)式布局就是一個網(wǎng)站能夠兼容多個終端,而不是為每個終端做一個特定的版本胶滋。 這個概念是為解決移動互聯(lián)網(wǎng)瀏覽而誕生的。html5也因此加入了媒體查詢等一系列針對響應(yīng)式布局的新元素悲敷。
c:css有屬性選擇器{E[att$='val'],E[att~='val'],E[att^='val']}
偽類選擇器{E:not(),E:last-child,E:only-child,E:nth-child(n),E:nth-last-child(),E:empty}
偽對象選擇器{E::selection}
關(guān)系選擇器{E~F}
四究恤、請逐一解釋他們:Node.js、React Native后德、Angular.js部宿、Grunt/Gulp、Webpack、Git理张、JSONP(10分)
Node.js: Node.js是一個基于Chrome JavaScript運行時建立的平臺赫蛇, 用于方便地搭建響應(yīng)速度快、易于擴展的網(wǎng)絡(luò)應(yīng)用雾叭。Node.js 使用事件驅(qū)動悟耘, 非阻塞I/O 模型而得以輕量和高效,非常適合在分布式設(shè)備上運行的數(shù)據(jù)密集型的實時應(yīng)用织狐。
React Native: React Native 結(jié)合了 Web 應(yīng)用和 Native 應(yīng)用的優(yōu)勢暂幼,可以使用 JavaScript 來開發(fā) iOS 和 Android 原生應(yīng)用。在 JavaScript 中用 React 抽象操作系統(tǒng)原生的 UI 組件移迫,代替 DOM 元素來渲染等旺嬉。
Angular.js: AngularJS誕生于2009年,由Misko Hevery 等人創(chuàng)建厨埋,后為Google所收購邪媳。是一款優(yōu)秀的前端JS框架,已經(jīng)被用于Google的多款產(chǎn)品當(dāng)中荡陷。AngularJS有著諸多特性雨效,最為核心的是:MVVM、模塊化亲善、自動化雙向數(shù)據(jù)綁定设易、語義化標(biāo)簽、依賴注入等等蛹头。
Grunt/Gulp:自動構(gòu)建系統(tǒng)顿肺,開發(fā)者可以使用它在網(wǎng)站開發(fā)過程中自動執(zhí)行常見任務(wù)。
Webpack: 是一個模塊打包工具渣蜗,你可以使用WebPack管理你的模塊依賴屠尊,并編繹輸出模塊們所需的靜態(tài)文件。
Git: Git是一款免費耕拷、開源的分布式版本控制系統(tǒng)讼昆,用于敏捷高效地處理任何或小或大的項目∩眨·
JSONP: 為了便于客戶端使用數(shù)據(jù)浸赫,逐漸形成了一種非正式傳輸協(xié)議,人們把它稱作JSONP赃绊,該協(xié)議的一個要點就是允許用戶傳遞一個callback參數(shù)給服務(wù)端既峡,然后服務(wù)端返回數(shù)據(jù)時會將這個callback參數(shù)作為函數(shù)名來包裹住JSON數(shù)據(jù),這樣客戶端就可以隨意定制自己的函數(shù)來自動處理返回數(shù)據(jù)了碧查。
五运敢、分別說出下述輸出結(jié)果(15分)a) var a, b = 0, fn = function(){
var a = b = 2;
};
fn();console.log(a, b);//(undefined,2)
b) var b = {a: 1}[0]; //b的值 undefined var b={a:1}['a']輸出1
c) !function(){
this.length = 10; var fn = function(){ console.log(this.length); //輸出多少校仑? 輸出2 this是arr
}, arr = [fn, 'hello layui'];
fn.length = 100;
arr[0]();
}();
六、封裝一個cont方法传惠,能實現(xiàn)如此調(diào)用:cout(a)(b)(c)(d)(e)… 并且返回的值為參數(shù)連剩的結(jié)果迄沫,即abcde*…。如cout(1)(3)(7) 得到21 (15分)
var init=0; //設(shè)置一個全局變量
var muti=function(m)
{
init=init*m;
return muti
}
muti.toString=function() //這是關(guān)鍵的一步 { return init;
} function count(m) //最終我們要調(diào)用的函數(shù) {
init=m ;// 初始化卦方,否則init是0羊瘩,那么永遠(yuǎn)乘 都是 0,也是很關(guān)鍵的一步
return muti;//最終返回的是 元對象(不是實例化過后的對象哦)
}
alert(count(3)(4)(5))
再次感謝大家閱讀愿汰,希望大家多多支持困后。
意見與建議可在下方評論~