摘要:面試總結工作久了有時候也需要出去看看。前幾天大搜車的約了面試,就記錄一下關于這次面試的具體內容。給出大致思路,參數回調函數事件。采用去觸發事件,在組件注冊相應的事件來達到交互的目的。
面試總結
前幾天大搜車的hr約了面試,就記錄一下關于這次面試的具體內容。
先填寫了個人信息,第一步就是筆試。
哪種盒模型包含padding
header中哪種標記不影響文件的緩存(age, etag, last-modify,cache-control)
設計一個tree組件,使用react、或者vue??蔁o限嵌套,最大程度的去適應各種需求。給出大致思路,參數、回調函數、事件。
使一個div寬度100px;高100px;居中至少三種方式(不考慮瀏覽器兼容)
說出你在過去項目中最滿意的一部分。
存在字符串a、b。找出a是否包含在b中,如果包含多個返回第一個位置,沒有包含則返回-1.如:a="123" b="4512356123" 則返回2。不能使用indexOf、substr等。
設計一個plus函數、實現plus(1)(2)()=3、plus(1)(2)(3)()=6。
題目大致是這樣的。細節部分可能有偏差,但是大體的意思是這樣的。針對筆試部分后兩個函數我寫了挺久、只完成了字符串部分,后面手寫確實有點難(可能是我太菜了吧)
以下是我回去后給出的答案
哪種盒模型包含padding。
主要分為兩種盒模型。標準盒模型、和IE盒模型。
就如圖上表示的,IE模型中width包含了content+padding+border。標準模型中width只包含content。開發者可以顯示的用box-sizing去設置想要的盒模型。
2.header中哪種標記不影響文件的緩存(age, etag, last-modify,cache-control)。
age:請求頭中的age代表的意思是當代理服務器用自己緩存的實體去響應請求時,用該頭部表明該實體從產生到現在經過多長時間了。etag:web服務器響應請求時,告訴瀏覽器當前資源在服務器的唯一標識(生成規則由服務器覺得)。Apache中,ETag的值,默認是對文件的索引節(INode),大小(Size)和最后修改時間(MTime)進行Hash后得到的。Last-Modified:標示這個響應資源的最后修改時間。web服務器在響應請求時,告訴瀏覽器資源的最后修改時間。Cache-Control與Expires的作用一致,都是指明當前資源的有效期,控制瀏覽器是否直接從瀏覽器緩存取數據還是重新發請求到服務器取數據。只不過Cache-Control的選擇更多,設置更細致,如果同時設置的話,其優先級高于Expires。
3.設計一個tree組件,使用react、或者vue??蔁o限嵌套,最大程度的去適應各種需求。給出大致思路,參數、回調函數、事件。
這部分我是根據自己開發的經驗去寫的,純粹是個人經驗。我使用Vue采用Vue提供的slot去做嵌套,這樣提高了組件適應的不同需求的能力。采用emit去觸發事件,在tree組件注冊相應的事件來達到交互的目的。
回答的不夠好,僅提供參考
4.使一個寬度100px高100px的div橫向居中至少三種方式(不考慮瀏覽器兼容)
.box{ position:absolute;left: 50%;trasition: translate(-50%, 0) }; .box{ position:absolute;left: 50%;margin-left: -50px; } .box{ position: absolute;margin: 0 auto; }
5.說出你在過去項目中最滿意的一部分。
是做了一個vue-barrel插件,是UI布局更加美觀。詳情可以查看我的一篇文章木桶插件。
6.存在字符串a、b。找出a是否包含在b中,如果包含多個返回第一個位置,沒有包含則返回-1.如:a="123" b="4512356123" 則返回2。不能使用indexOf、substr等。
這是我自己的代碼,可能是面試比較緊張吧,一時沒想起來最優的方案,這個復雜度較高,暴力查找.
function findStr(a, b){ let tmpA = a.split(""); let tmpB = b.split(""); let lastIndex = -1; let lengthA = tmpA.length; let lengthB = tmpB.length; for( let i = 0; i< lengthB; i++ ){ let tag = true; for( let j =0; j-1 ? lastIndex : i; break; } } return lastIndex; }
7.設計一個plus函數、實現plus(1)(2)()=3、plus(1)(2)(3)()=6。
這部分我當時沒有答出來,當時只是模糊的記得柯里化函數,沒能手寫出來。
function plus() { if (arguments.length === 0) { let sum = 0; plus.list.forEach((item) => { sum += item; }) plus.list = []; return sum; } else { plus.list = plus.list ? plus.list:[]; plus.list = plus.list.concat(Array.prototype.slice.call(arguments, 0)); return plus; } }二面詳情我會再整理
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/102668.html
摘要:寫在前面看到了死月佳楠等朋友都寫了關于的年度總結,總覺得自己也應該寫點東西來回首過去的一年,順便展望一下未來的年。在這份榜單上排在的位置,年也希望更上一層樓。年底跟女朋友結束了四年的戀愛長跑,成功領證。 寫在前面 看到了死月、doodlewind、佳楠等朋友都寫了關于 2017 的年度總結,總覺得自己也應該寫點東西來回首過去的一年,順便展望一下未來的 2018 年。 由于之前忙于撰寫《...
摘要:正在暑假中的課多周刊第期我們的微信公眾號,更多精彩內容皆在微信公眾號,歡迎關注。若有幫助,請把課多周刊推薦給你的朋友,你的支持是我們最大的動力。原理微信熱更新方案漲知識了,熱更新是以后的標配。 正在暑假中的《課多周刊》(第1期) 我們的微信公眾號:fed-talk,更多精彩內容皆在微信公眾號,歡迎關注。 若有幫助,請把 課多周刊 推薦給你的朋友,你的支持是我們最大的動力。 遠上寒山石徑...
摘要:正在暑假中的課多周刊第期我們的微信公眾號,更多精彩內容皆在微信公眾號,歡迎關注。若有幫助,請把課多周刊推薦給你的朋友,你的支持是我們最大的動力。原理微信熱更新方案漲知識了,熱更新是以后的標配。 正在暑假中的《課多周刊》(第1期) 我們的微信公眾號:fed-talk,更多精彩內容皆在微信公眾號,歡迎關注。 若有幫助,請把 課多周刊 推薦給你的朋友,你的支持是我們最大的動力。 遠上寒山石徑...
摘要:前言布局中經常會遇到元素水平居中的需求今天根據以前的學習筆記以及看過的一些技術博客做個元素水平居中的小結。文字的水平垂直居中文字水平居中文字的水平垂直居中在于同高然后。 前言 布局中經常會遇到元素水平居中的需求,今天根據以前的學習筆記?以及看過的一些技術博客做個元素水平居中的小結。 正文 圖片的水平垂直居中 //圖片地址為http://static.jsbin.com/ima...
閱讀 788·2021-10-09 09:44
閱讀 692·2019-08-30 13:55
閱讀 3153·2019-08-29 15:07
閱讀 3218·2019-08-29 13:09
閱讀 2413·2019-08-29 11:10
閱讀 1289·2019-08-26 14:05
閱讀 3591·2019-08-26 13:57
閱讀 2206·2019-08-23 16:42