2024秋招海康威视前端笔试大题笔经

杂谈

考得不是很难,一开始进去会让你选自己的技术栈(Vue,React和Angular),单选和多选涉及html、css、js、你选的技术栈、webpack、路由等等,考完就忘了,难点可能在模棱两可的选项吧。

大题及大致解析

论述题

  • 论述题两道
  • 是文本编辑框,不是代码ide,但是写了代码

1. html和htmls的区别

我答了七点,大概内容围绕:啥是html和htmls,名字差异,安全性(SSL/TSL),证书,端口号,SEO,htmls更受推荐,htmls可能会更慢

2. 什么是深拷贝?什么是浅拷贝?如何实现?

一开始说一下定义,深拷贝复制的是整个属性内容,拷贝内容变了被拷贝内容不会变;浅拷贝复制的是指针引用,最浅一层数据,拷贝内容变了被拷贝内容会变等等,差不多就那个意思

浅拷贝的实现:扩展运算符(如 [a, ...b] ),Object.assign() ,直接赋值等等
深拷贝的实现:lodash的 cloneDeep() ,手写递归实现

// 随手写的,大概的思路伪代码(?),不一定对
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;
}

编程题

  • 两道题,平台自带IDE,不可调试,可以自测,切题的地方我还找了一会儿,难度不高

1. 大人小孩排队

大概的意思就是形似 [1, 2, 3, 0, 0, 1, 2] 这样的数字,0 是小孩子,其它是大人,大人往前排,小孩子往后排,排成 [1, 2, 3, 1, 2, 0, 0] 这样。
难度不高,可以直接记忆化搜索。

...
// 仅包含重点代码(复盘时再写的,可能有错)
function queue(nums) {
	// 一个就不排了
	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. 数组内是否存在 | nums[ i ] - nums[ j ] | ≤ t ,且 | i - j | ≤ k

如题所示,很简单

...
// 大概思路
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;
}
...
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值