2024秋招??低暻岸斯P試大題筆經(jīng)
雜談
考得不是很難,一開(kāi)始進(jìn)去會(huì)讓你選自己的技術(shù)棧(Vue,React和Angular),單選和多選涉及html、css、js、你選的技術(shù)棧、webpack、路由等等,考完就忘了,難點(diǎn)可能在模棱兩可的選項(xiàng)吧。
大題及大致解析
論述題
- 論述題兩道
- 是文本編輯框,不是代碼ide,但是寫(xiě)了代碼
1. html和htmls的區(qū)別
我答了七點(diǎn),大概內(nèi)容圍繞:啥是html和htmls,名字差異,安全性(SSL/TSL),證書(shū),端口號(hào),SEO,htmls更受推薦,htmls可能會(huì)更慢
2. 什么是深拷貝?什么是淺拷貝?如何實(shí)現(xiàn)?
一開(kāi)始說(shuō)一下定義,深拷貝復(fù)制的是整個(gè)屬性?xún)?nèi)容,拷貝內(nèi)容變了被拷貝內(nèi)容不會(huì)變;淺拷貝復(fù)制的是指針引用,最淺一層數(shù)據(jù),拷貝內(nèi)容變了被拷貝內(nèi)容會(huì)變等等,差不多就那個(gè)意思
淺拷貝的實(shí)現(xiàn):擴(kuò)展運(yùn)算符(如 [a, ...b]
),Object.assign()
,直接賦值等等深拷貝的實(shí)現(xiàn):lodash的 cloneDeep()
,手寫(xiě)遞歸實(shí)現(xiàn)
// 隨手寫(xiě)的,大概的思路偽代碼(?),不一定對(duì) function deepClone(obj) { if(typeof obj !== 'Object' || obj === null){ return obj; } const newObj = obj instanceof Array ? [] : {} for(let i in obj){ if(typeof obj !== 'Object' || obj === null){ newObj[i] = obj[i]; } else { deepClone(obj); } } return newObj; }
編程題
- 兩道題,平臺(tái)自帶IDE,不可調(diào)試,可以自測(cè),切題的地方我還找了一會(huì)兒,難度不高
1. 大人小孩排隊(duì)
大概的意思就是形似 [1, 2, 3, 0, 0, 1, 2]
這樣的數(shù)字,0
是小孩子,其它是大人,大人往前排,小孩子往后排,排成 [1, 2, 3, 1, 2, 0, 0]
這樣。難度不高,可以直接記憶化搜索。
... // 僅包含重點(diǎn)代碼(復(fù)盤(pán)時(shí)再寫(xiě)的,可能有錯(cuò)) function queue(nums) { // 一個(gè)就不排了 if (nums.length <=1) { return nums; } let idxMemo = -1; for (let i = 0; i < nums.length; i++) { if (idxMemo === -1 && nums[i] === 0) { idxMemo = i; } if (idxMemo !== -1 && nums[i] !== 0) { nums[idxMemo] = nums[i]; nums[i] = 0; i = idxMemo; idxMemo = -1; } } return nums; } ...
2. 數(shù)組內(nèi)是否存在 | nums[ i ] - nums[ j ] | ≤ t ,且 | i - j | ≤ k
如題所示,很簡(jiǎn)單
... // 大概思路 function avail(a, b, target) { return Math.abs(a - b) <= target; } function isExist(nums, t, k) { if (nums.length <= 1) { return false; } for (let i = 0; i < nums.length; i++) { for (let j = i + 1; j < nums.length - i; j++) { if (avail(nums[i], nums[j], t) && avail(i, j, k)) { return true; } } } return false; } ...#秋招##前端##2024秋招##筆試##我的實(shí)習(xí)求職記錄#