摘要:最近面試遇到的一些面試題記錄分享下。單個保存的數據不能超過,很多瀏覽器都限制一個站點最多保存個。塊級元素生成一個矩形框,作為文檔流的一部分,行內元素則會創建一個或多個行框,置于其父元素中。元素仍保持其未定位前的形狀,它原本所占的空間仍保留。
最近面試遇到的一些面試題記錄分享下。
公司A:
題目一:
不用jquery等框架/庫,查找一個頁面上有多少種標簽,每種標簽的個數,偽代碼實現亦可
代碼:
var map = {}; function dfs(node) { if(node.nodeType === 1) { var tagName = node.tagName; map[tagName] = map.hasOwnProperty(tagName) ? map[tagName] + 1 : 1; var children = node.childNodes; for(var i = 0, len = children.length; i < len; i++) { dfs(children[i]); } } } dfs(document.body); console.log(map);
這里估計也就是考察遞歸搜索吧,當時寫的沒有這么完整,思路一樣,這里沒有考慮到有iframe的情況。
公司B:
題目一:
typeof []
答案:object
一開始我的回答是object,面試官問的時候特意問了下確定嗎,然后就有點猶豫了,然后面試官又問了下javascript的數據類型有哪些,string,number,null,undefined,object當時忘記了boolean
題目二:
你知道的http的狀態碼有哪些,代表什么意思
https://segmentfault.com/a/1190000004356...
寫出常用的一些狀態碼就可以了,我也就寫了200 304 403 404 500 502 這幾個
引申:304是什么意思,是根據什么判斷的?
這個還真不太清楚,緩存過期時間?文件內容?待我搞清楚之后再補充...
題目三:
cookie跟session的區別?
1、cookie數據存放在客戶的瀏覽器上,session數據放在服務器上。
2、cookie不是很安全,別人可以分析存放在本地的COOKIE并進行COOKIE欺騙
考慮到安全應當使用session。
3、session會在一定時間內保存在服務器上。當訪問增多,會比較占用你服務器的性能
考慮到減輕服務器性能方面,應當使用COOKIE。
4、單個cookie保存的數據不能超過4K,很多瀏覽器都限制一個站點最多保存20個cookie。
5、所以個人建議:
將登陸信息等重要信息存放為SESSION 其他信息如果需要保留,可以放在COOKIE中
出處:https://segmentfault.com/a/1190000004071...
題目四:
有一個數組譬如有十個數字,一秒鐘打印一個怎么實現?
代碼:
var num = [1, 2, 3, 4, 5, 6], len = num.length, index = 0; var timer = setInterval(function () { if(index >= len) { clearInterval(timer); } else { console.log(num[index]); } index++; }, 1000);
題目五:
position有哪些值?absolute相對于什么定位?
position 屬性值的含義:
static
元素框正常生成。塊級元素生成一個矩形框,作為文檔流的一部分,行內元素則會創建一個或多個行框,置于其父元素中。
relative
元素框偏移某個距離。元素仍保持其未定位前的形狀,它原本所占的空間仍保留。
absolute
元素框從文檔流完全刪除,并相對于其包含塊定位。包含塊可能是文檔中的另一個元素或者是初始包含塊。元素原先在正常文檔流中所占的空間會關閉,就好像元素原來不存在一樣。元素定位后生成一個塊級框,而不論原來它在正常流中生成何種類型的框。
fixed
元素框的表現類似于將 position 設置為 absolute,不過其包含塊是視窗本身。
資料:http://www.w3school.com.cn/css/css_posit...
絕對定位的元素的位置相對于最近的已定位祖先元素,如果元素沒有已定位的祖先元素,那么它的位置相對于最初的包含塊。
資料:http://www.w3school.com.cn/css/css_posit...
題目六:
一個數組,求出里面連續和最大的一段的起始下標,譬如[1, 3, -4, 4, 2]最大連續和為6 下表為3, 4
var arr = [1, 3, -5, 4, 2, -9, 3, 6], sum = arr[0], sumIndex = {l: 0, r: 0}; max = [], retIndex = {l: 0, r: 0}; max[0] = arr[0]; for(var i = 1, len = arr.length; i < len; i++) { max[i] = Math.max(sum + arr[i], max[i-1], arr[i]); if(max[i] === sum + arr[i]) { retIndex.l = sumIndex.l; retIndex.r = sumIndex.r = i; } else if(max[i] === arr[i]) { retIndex.l = i; retIndex.r = i; } else { retIndex.l = sumIndex.l; retIndex.r = sumIndex.r; } if(sum + arr[i] >= 0) { sum = sum + arr[i]; sumIndex.r = i; } else { sum = arr[i]; sumIndex.l = i; sumIndex.r = i; } } console.log(max[len - 1] + " " + retIndex.l + " " + retIndex.r);
題目七:
實現一個once函數 參數是一個函數 返回值也是個函數 只能執行一次 下次執行就是undefined 例如:
var foo = once(function() { console.log(123); }); foo();//123 foo();//undefined foo();//undefined
實現:
function once(cb) { var flag = 1; return function() { if(flag) { cb.apply(cb.caller, arguments); flag = 0; } } }
題目八:
一個由整數構成的有序數組(有可能有重復的),給一個數,找出它在數組里面出現的位置
解析:
這個就是一個二分查找,因為可能有重復的一直要找到它的前一個元素不等于當前找到的元素為止。
代碼就不寫了
題目九:
移動端的手勢事件有哪些?
由于移動端做的少,當時只記得touchstart touchmove touchend這幾個,沒有處理這些事件的經驗
題目十:
寫一個兼容各瀏覽器的事件監聽函數
function addListener(ele, eventName, handler) { if(ele.addEventListener) { ele.addEventListener(eventName, handler); } else if (ele.attachEvent) { ele.attachEvent("on" + eventName, handler); } }
主要考慮到兼容IE
引申:
addEventListener 第三個參數有啥用
第三個參數為true在捕獲階段執行處理函數,為false在冒泡階段執行處理函數默認為false
還有事件模型 IE支持哪種事件模型
事件模型: 捕獲->目標->冒泡
IE的事件模型: 冒泡
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/79193.html
摘要:前言對于一個前端來說,面試的時候,難免會遇到的面試題。有幾道面試題,有些是我面試遇到的,有些是在網上看到的,但是都印象深刻。 1.前言 對于一個web前端來說,面試的時候,難免會遇到javascript的面試題。就我自己而言。有幾道面試題,有些是我面試遇到的,有些是在網上看到的,但是都印象深刻。今天就來簡單分析一下我遇到的,印象深刻的一些面試題!主要目的希望能讓小伙伴學到一些東西,如過...
摘要:一基礎接口的意義百度規范擴展回調抽象類的意義我的前端面試經歷百度前端掘金博主就讀于電子科技大學,大三狗一枚面試是個漫長的過程,從海投到收獲電話面試,一面二面三面,一個步驟出錯那么后面就宣告終結。 一道常被人輕視的前端 JS 面試題 - 前端 - 掘金 目錄前言第一問第二問變量聲明提升函數表達式第三問第四問第五問第六問構造函數的返回值第七問最后前言 年前剛剛離職了,分享下我曾經出過的一道...
摘要:到十二月份,公司開始第二波裁員,我決定主動拿賠償走人。加一個小插曲上面的題是餓了嗎面試問到的。想去的公司沒有面試好,不要氣餒,繼續加油準備。避免打擊自信心。 回顧一下自己這段時間的經歷,九月份的時候,公司通知了裁員,我匆匆忙忙地出去面了幾家,但最終都沒有拿到offer,我感覺今年的寒冬有點冷。到十二月份,公司開始第二波裁員,我決定主動拿賠償走人。后續的面試過程我做了一些準備,基本都能走...
閱讀 1818·2023-04-26 02:51
閱讀 2849·2021-09-10 10:50
閱讀 3026·2021-09-01 10:48
閱讀 3594·2019-08-30 15:53
閱讀 1816·2019-08-29 18:40
閱讀 405·2019-08-29 16:16
閱讀 2024·2019-08-29 13:21
閱讀 1816·2019-08-29 11:07