一个前端岗位电话面试所带来的问题的思考
這絕對不是一篇技術(shù)文,如果你不喜歡,也請不要噴,你可以看看都有哪些問題,當(dāng)然,在這里你可能得不到問題的答案,不懂的你可能需要自己去百度,也可以在下面留言交流,我已經(jīng)聲明了,這不是一篇純技術(shù)文章,不喜勿碰,忽略就是;做文明人,共創(chuàng)一個和諧的網(wǎng)絡(luò)環(huán)境,謝謝;
一、javascript方面問題
1、簡單介紹項目以及所用到的技術(shù),團隊規(guī)模
這里就不一一細(xì)說了,反正就是霹靂拍啦一大堆,然后就介紹完了,介紹完了之后,面試官接下來問的問題也基本是根據(jù)我描述項目中所涉及到的技術(shù)去問吧,直接看問題吧!
2、ajax VS websoket
在websocket沒有出現(xiàn)的時期,我們想要在聊天室這種形態(tài)模式下去輪詢查詢新的數(shù)據(jù),基本通過setInterval固定時間去刷新請求,并發(fā)不大的時候,還要好點,服務(wù)器差不多的都能撐得住,但是并發(fā)一旦大起來,請求一多,好嘛,服務(wù)器數(shù)據(jù)庫直接蹦;
而websocket這種,只需請求一次,那就是連接服務(wù)器,一旦連接,數(shù)據(jù),服務(wù)器主動推送給客戶端,雖然他對服務(wù)器一直keep-alive這種狀態(tài),需要消耗服務(wù)器內(nèi)存,但是相對于ajax無數(shù)次不應(yīng)的請求來說,肯定是大大提高了性能的;
當(dāng)然兩者肯定有優(yōu)點有缺定,畢竟性質(zhì)不一樣,我覺得大家還是有必要了解一下這兩者區(qū)別的
3、jQuery VS vue
可能很多人覺得這有什么可比性,其實我個人覺得,還就是jQuery和這類mv*框架有比較的價值,你想想,三大框架(vue、react、angluar)基本都是操作數(shù)據(jù),虛擬DOM,雙向綁定什么的,這三個框架之間的對比,大致是實現(xiàn)的方式去對比;
但是jQuery,基本是通過操作DOM,完全不一樣的庫,他們之間兩個陣營當(dāng)然更有可比性; (不喜勿碰,個人見解)
4、setInterval 時間是否會有誤差?產(chǎn)生誤差的原因?其原理是什么?
這個問題,誤差肯定是會差生的,你想啊,setInterval異步函數(shù),異步執(zhí)行,js被解析的時候,碰到他,先不解析他,放他在一旁,先去解析同步的,等資源空閑下來的才去解析他,這樣一來,解析其他代碼肯定需要時間,這不就有延誤嘛。
然后解析setInterval內(nèi)部函數(shù)不也一樣需要耗時,函數(shù)簡單些還好寫,你要是寫了一大堆,那乖乖,可能產(chǎn)生的延誤就不是一點點的;
5、閉包
老生常談的問題,基本每個前端不管是初級,中級,高級或者資深前端都會被問到的問題吧; 簡單點說就是一句話:有權(quán)訪問另一個函數(shù)作用域內(nèi)變量的函數(shù)都是閉包; 具體的附上MDN的解釋,我就不做過多解釋了 MDN地址
6、IE中造成內(nèi)存泄漏情況以及原因
這個可能在IE,尤其IE8中表現(xiàn)的最明顯,畢竟其他瀏覽器就是會很卡,但是IE8是直接崩潰,哈,真任性!具體的大家還是去百度吧,當(dāng)然這個問題不僅僅是存在IE瀏覽器中,在各個瀏覽器中都存在;
7、瀏覽器垃圾回收機制
相信大部分語言,都有這么個機制,不需要在引用的變量之類的將會被回收,不然的一直常駐在內(nèi)存中,那好嘛,瀏覽器遲早被你弄奔潰,閉包里面的就不行了,垃圾回收機制檢查不到你這個變量是否被應(yīng)用啊,所以嘛,造成內(nèi)存泄漏了,如果并非必要,大家還是少寫點閉包,寫了請手動刪除一下或者置為空,畢竟咱們的性能能提升就提升嘛,小細(xì)節(jié)解決了隱藏的大部分問題不是嗎?
8、雙向數(shù)據(jù)實現(xiàn)原理
這還是因為三大框架的出現(xiàn),出現(xiàn)這么個話題,所以說,現(xiàn)在的趨勢就是這樣,你必須去了解,作為一個前端,你不能停止學(xué)習(xí);否則你必將會被淘汰,而且很快,有多快?就像16年之前,你可以憑借html css jq,你就可以找到一份能解決溫飽的問題了;
但是17年可能就困難很多了,當(dāng)然也不是絕對的說,同時也不是說jq已經(jīng)OUT了,我個人覺得jq至少在現(xiàn)今還是沒有任何OUT的,如果作為一個真正將前端作為未來職業(yè)的人,JQ是必備的一種技能;
但是在這基礎(chǔ)上,你還要必須學(xué)會三大框架的至少一種,在中國的這樣的行情下,可能react和vue更加吃香吧,如果你還沒有入手三大框架,個人建議從vue和react中選一個先學(xué),你只有在環(huán)境中生存了下來,才能有時間去學(xué)習(xí)更多的東西,做自己想做的事情; 扯遠(yuǎn)了,說回雙向數(shù)據(jù)綁定,這個還是要去理解一下的,至少知道Object.defineProperty()是怎么用的,他是個什么東西
9、頁面優(yōu)化
這個就是平時我們必須面對的一個問題,所以大家還是要去多多關(guān)注多多了解,
10、瀏覽器緩存原理
講真,這個問題我沒有回答的很好,因為畢竟,那啥,好吧,我么有研究過這個問題;要是說說cookie,sessionStorage,localStorage我還能講出來,這個原理可能真被問住了,好吧,我表示自己真的有欠缺的方面;只能自己加加油了
11、虛擬DOM
其實主要是因為vue/react這些框架的出現(xiàn),這個概念才熱起來,個人覺得還是有很多公司會問這類問題的,大家還是要去了解了解
12、在項目中遇到難題以及解決方式
當(dāng)然也是一頓噼里啪啦,其實每個人在項目中多多少少都會碰到吧,至于解決方式,我就是回答基本自行百度,或者去技術(shù)交流群詢問之類的,不知道大家會怎么回答這樣的問題,如果可以,歡迎留言交流
二、css方面問題
當(dāng)時面試官在問css問題之前,先問了一下我會不會css,好吧,當(dāng)時我愣了一下,說了句,那是會的,其實針對css并沒有問太多,就兩個問題,請看下面具體問題
1、對盒模型的理解
盒模型主要包括如下幾點:margin border padding content;根據(jù)width或者h(yuǎn)eight計算時包含的內(nèi)容不同,而被分為以下兩種盒模型
1、IE盒模型(準(zhǔn)確的說是IE8以下盒模型),江湖人稱怪異盒模型;當(dāng)我們計算width或者h(yuǎn)eight的時候,在IE8以下盒模型時,是包括了padding border content三者一起算的
2、IE8及其以上版本瀏覽器盒模型和w3c盒模型,江湖人稱標(biāo)準(zhǔn)盒模型;這種盒模型在我們計算width或者h(yuǎn)eight的時候,是不包括padding border在內(nèi)的,而是單一計算content的大小;
2、布局方式
大概包括以下幾種布局方式:
1、彈性布局
2、固定布局
3、流體布局
4、混合布局
5、絕對定位布局
三、我所要問的問題
當(dāng)然只是問了一下做什么項目、我去主要做什么、技術(shù)棧、加班情況等等這些;當(dāng)然,其實可能有的人會問,為什么沒有問福利,薪資待遇什么的,我個人是覺得,這只是電話面試,后面還有很多面,有些問題,不是當(dāng)面說更好嗎?
四、結(jié)束語
每家公司每個區(qū)域面試所問的問題可能都不一樣,如果大家在面試中遇到了什么問題,或者覺得有什么好技術(shù)性面試題,歡迎大家留言交流,也歡迎大家對以上面試進行積極的討論,能回答大家的技術(shù)性問題,我一定會回答,感謝大家的閱讀
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅持創(chuàng)作打卡瓜分現(xiàn)金大獎總結(jié)
以上是生活随笔為你收集整理的一个前端岗位电话面试所带来的问题的思考的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 基于 Docker 打造前端持续集成开发
- 下一篇: 前后台分离之数据模拟