摘要:大家好,我來自駕考寶典。同時,我在駕考寶典也工作一年多了。駕考寶典算不上一線大公司,但我個人不管是通過工作,平常的積累,還是自主學習,我覺得還是能和大家分享一些更加實戰化的面試題。并處理好廣大安卓機的兼容性。
大家好,我來自駕考寶典。時間不知不覺進入2018金九銀十,下半年的尾聲了,想必很多朋友已經看過網上新出的各大廠面試題。同時,我在駕考寶典也工作一年多了。駕考寶典算不上一線大公司,但我個人不管是通過工作,平常的積累,還是自主學習,我覺得還是能和大家分享一些更加實戰化的面試題。主要是工作當中運用的相關技術和遇到的坑,希望以此共勉。
Q: JS 部分
1、什么是自執行函數,它的優點是什么?
!function(){}()被稱為"自執行函數",好處是把所有變量都運行在函數內部,可以避免產生全局變量,而"!"的作用是使它和上面的代碼隔絕,不會受到其影響。
2、求1-100里7的倍數及包含7的所有數字,最后放置數組中
function calculate() { var arr = []; var reg = /7/; for (var i = 1; i <= 100; i++) { reg.test(i) || (i % 7 == 0) ? arr.push(i) : arr; } return arr; } console.log(calculate());
更精簡版是?
3、為什么0.1 + 0.2 != 0.3
js沒有float型沒有int型 瀏覽器解析小數時 會轉換成二進制 而小數轉換成二進制時 js就會失精度 0.1+0.2會得0.30000004后面無窮個小數 所以正確的做法是 parseFloat((0.1 + 0.2).toFixed(10))
4、將數組進行排序,比如
var arr = [ { name : "a", value: 21}, { name : "b", value: 10}, { name : "c", value: -1}, { name : "d", value: 1}];
該怎么寫;若用箭頭函數輸出,() => {} 和() => ()區別是什么,各將輸出什么。
如果數組是這樣
var arr = [5,20,40,15];
用箭頭函數輸出,() => {} 和() => (),又各將輸出什么。為什么沒有實現我們想要的排序,該如何做。
var demo = arr.sort((a,b) => ( a - b ) ); console.log(demo);
如果是二維數組
var arr = [ [30, -5, 0, 5], [100, 50, 20], [1, 15, 10] ];
又該如何做。
for(var i = 0; i < arr.length; i++){ arr[i].sort(function(a,b){ return a - b; }); } console.log(arr);
5、如何將這么一組數據
var arr = ["123@qq.cn","zhangsan@163.cn"];轉化為<123@qq.cn>;
var str = ""; for (var j = 0; j < arr.length -1; j++) { str += "<" + arr[j] + ">" + ";" } str += "<" + arr[arr.length -1] + ">" console.log(str);
6、使用js匹配相同的questionId,三個相同的變綠色,四個紅色,并重新渲染至頁面中。
var data = [{ projectId: 3, questionId: 1124900 }, { projectId: 2, questionId: 1124900 }, { projectId: 1, questionId: 1124900 }, { projectId: 1, questionId: 1120900 }, { projectId: 3, questionId: 1119600 }, { projectId: 2, questionId: 1119600 }, { projectId: 3, questionId: 1119500 }, { projectId: 2, questionId: 1119500 }, { projectId: 1, questionId: 1119500 }, { projectId: 3, questionId: 836200 }, { projectId: 2, questionId: 836200 }, { projectId: 3, questionId: 836100 }, { projectId: 2, questionId: 836100 } ] var obj = {}; var newData = data.length; for (var i = 0; i < newData; i++) { if (obj[data[i].questionId]) { obj[data[i].questionId] += 1; } else { obj[data[i].questionId] = 1; } } for (var i = 0; i < newData; i++) { for (var n in obj) { if (data[i].questionId == n && obj[n] == 4) { data[i].color = "red"; } else if (data[i].questionId == n && obj[n] == 3) { data[i].color = "green"; } } } var html = []; html.push("
7、用最少的原生JS實現文字超出...顯示。
var oBox = document.getElementById("box"); var demoHtml = oBox.innerHTML.slice(0, 10) + "..."; oBox.innerHTML = demoHtml;
8、如何將獲取的數據,里面分別是1 2 3 … 10、102等,轉化為對應的一、二、三…十、一百零二。
9、移動端常見的字數統計,不管是遞增或遞減,同時兼容pc端的復制、粘貼、撤銷等操作,實時統計,以及支持移動端的emoji表情的統計,該如何實現。
用 input propertychange 事件
10、define和require有什么區別。
簡言之,define定義模塊,require加載模塊,模塊依賴聲明是很重要的一步。
11、dom我們都知道,bom是什么。
BOM是瀏覽器對象模型,DOM是文檔對象模型,前者是對瀏覽器本身進行操作,而后者是對瀏覽器(可看成容器)內的內容進行操作。比如window.open()。
12、如何優雅地用原生JS實現textarea隨著內容增多,高度自動增加。
13、如何監聽app自帶的返回鍵,以及安卓機里物理返回鍵。產品需要前端編寫一個h5,里面有若干audio或video,不與客戶端交互。當用戶點擊app自帶返回鍵,如何暫停正在播放的文件。并處理好廣大安卓機的兼容性。
14、將所有的html內容一鍵轉化為圖片,有實現的大概思路嗎。html2canvas.js插件bug太多,是否有替代方案。
15、支付寶里的芝麻信用,目前是靜態的,如何實現讓小白點隨著對應的分數、文案從零跳轉到對應的位置。
16、移動端輪播圖,比如swiper3.js(目前是4),實現的原理是什么。當swiper.js有兼容性問題時,是否有輕量級替代方案。
17、iscroll.js的替代方案有哪些,優缺點是什么。
18、中英文一鍵切換,前端該怎么實現。
19、模板渲染引擎用過嗎。和傳統的拼接字符串相比,優缺點是什么。
20、判斷JS數據類型有哪些方式,它們的區別是什么。
21、什么是防抖和節流。
22、延遲加載有哪些方式,什么是阻塞模式。
23、JSON全稱是什么,JSON.parse()和JSON.stringify()區別是什么。
24、移動端點擊穿透、滾動穿透是否了解,是否解決過。
25、移動端點擊延遲300ms,怎么處理。
26、click和input的區別。實際應用場景,當用戶點擊input要改變type的類型,你會如何處理。
27、$(document).on(“click”,function(){})和$(document).on(“click”,”.xxx”,function(){})區別。
28、jQ的on、bind、live、delegate各有什么異同。
29、移動端和PC端jQ版本的選擇,是否有差異,如果有,對應的規范、原因是什么。
30、雅虎軍規35條(前端性能優化)。
31、什么是回流和重繪。
32、let和var的區別。
33、原生js實現圖片上傳,有哪些注意事項。
布局和css、框架暫時就不問了,這次先和各位分享到這,都是本人平常工作當中的部分積累,和各位高大上的面試題比起來,不值一提,喜歡的朋友可以收藏下。歡迎在評論區補充更多實用的坑。我會持續更新,各位下次見~
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/93017.html
摘要:大家好,我來自駕考寶典。同時,我在駕考寶典也工作一年多了。駕考寶典算不上一線大公司,但我個人不管是通過工作,平常的積累,還是自主學習,我覺得還是能和大家分享一些更加實戰化的面試題。并處理好廣大安卓機的兼容性。 大家好,我來自駕考寶典。時間不知不覺進入2018金九銀十,下半年的尾聲了,想必很多朋友已經看過網上新出的各大廠面試題。同時,我在駕考寶典也工作一年多了。駕考寶典算不上一線大公司,...
摘要:個人也建議不要滿足于自己當下所知道的,多去拓展自己,多去學新的東西。作為一個面試者來說,知識點的記憶準備為的是更好的應對面試中技術面中問到的各種問題。 你好,是我琉憶——PHP程序員面試筆試系列圖書的作者。 隨著越來越多的人開始邁入PHP開發工程師的隊列,不管是一個PHP新手還是一個有一兩年開發經驗的PHPer都不得不去面對找工作前面試這件事。 我現在以個人對面試的經歷和見解來全面的對...
摘要:前言如今新特性新標簽新規范等有很多,而且正在不斷完善中,各大瀏覽器商對它們的支持,也是相當給力。接下來我將和各位分享一個特別好用的新特性目前也不是特別新,輕松監聽任何自帶的返回鍵,包括安卓機里的物理返回鍵,從而實現項目開發中進一步的需求。 1、前言 如今h5新特性、新標簽、新規范等有很多,而且正在不斷完善中,各大瀏覽器商對它們的支持,也是相當給力。作為前端程序員,我覺得我們還是有必要積...
閱讀 2883·2021-09-22 15:20
閱讀 2957·2021-09-22 15:19
閱讀 3446·2021-09-22 15:15
閱讀 2381·2021-09-08 09:35
閱讀 2372·2019-08-30 15:44
閱讀 3003·2019-08-30 10:50
閱讀 3706·2019-08-29 16:25
閱讀 1585·2019-08-26 13:55