23秋招-深信服前端一面-面经

时间:9 月 9 日

时长:1 h

base:深圳

全程基本上在做题,边做边问,在面试开始和结束前问了几个八股。


JavaScript

  1. == 和 ===
a === 1 && a === 2 如何实现

/* 劫持 a 属性 */
let current = 0;
Object.defineProperty(window, 'a', {
  get() {
    current++;
    return current;
  }
})
console.log(a === 1 && a === 2); // true


var obj = new Proxy({ a: 0 }, {
  get(target, key, value, proxy) {
    target.a++
    return target.a
  },
});
console.log(obj.a === 1 && obj.a === 2 && obj.a === 3)
  1. arr.map(parseInt)
const arr = ['1', '2', '3'];
arr.map(parseInt) 的输出是什么?
[1, NaN, NaN]

解释:上述代码可以翻译如下
arr.map((item, index) => parseInt(item, index));

parseInt(item, index):

  • item: 要被解析的值。如果参数不是一个字符串,则将其转换为字符串 (使用 ToString 抽象操作)。字符串开头的空白符将会被忽略。
  • index: 从 236 的整数,表示进制的基数。parseInt 是将 item 中的数字逐个按 index 指定的进制进行转换的,如 item=‘2’,index=‘2’,那此时的结果是 NaN,因为二进制只有 0 和 1。如果 parseInt 遇到的字符不是指定 index 参数中的数字,它将忽略该字符以及所有后续字符,并返回到该点为止已解析的整数值。parseInt 将数字截断为整数值。允许前导和尾随空格。
  1. 一个考察事件循环的题,说输出
async function async1() {
    console.log('async1 start')
    await async2()
    console.log('async1 end')
}
async function async2() {
    console.log('async2')
}
console.log('script start')
setTimeout(function () {
    console.log('settimeout')
})
async1()
new Promise(function (resolve) {
    console.log('promise1')
    resolve()
}).then(function () {
    console.log('promise2')
})
console.log('script end')

/*输出顺序:
script start
async1 start
async2
promise1
script end
async1 end
promise2
settimeout
*/
  1. 场景题:有一个 ul,其中有很多 li,怎样给每个 li 添加自定义事件。(使用事件委托机制,在 ul 上绑定 li 需要触发的事件)

  2. 场景题:搜索框中输入文字,每次输入都会触发 http 请求,如何优化?(使用防抖进行优化,但是具体讲的时候拉跨了,把防抖和节流两个东西搞混了,然后面试官就要求我手写一下防抖节流)

  3. 扁平化数组转树

  4. 给一个数组 arr 和 一个指定的值 target,找到数组中的和为 target 的两个数的下标。(就是两数之和,只是要找到所有满足条件的组合的下标)。

const arr = [1, 3, 5, 4, 2];
const target = 5;
let idx1 = 0,
  idx2 = 0;
const res = [];

const map = new Map();

for (let i = 0; i < arr.length; i++) {
  map.set(arr[i], i);
  if (map.get(target - arr[i]) !== undefined) {
    idx1 = map.get(target - arr[i]);
    idx2 = i;
    // break;
    res.push([idx1, idx2]);
  }
}
console.log(res);

CSS

  1. 两列布局的实现方式有哪些?

  2. flex 布局的一些属性

    • flex: 1 (flex-grow: 1, flex-shrink: 1, flex-basis: 0%)

    • flex: auto(flex-grow: 1, flex-shrink: 1, flex-basis: auto)

    • flex(default): (flex-grow: 0, flex-shrink: 1, flex-basis: auto)

    参考:

  3. BFC

  4. 水平垂直居中方式


Vue

  1. Vue-Router 的原理,有哪两种模式;
  2. 你项目里的权限控制是怎么做的(全局前置守卫进行判断)
    • Vue-Router 的路由守卫,讲一讲(全局和组件内的)

大概就记得这么多,可能有些都记混了。。。我是上午 10:30 开始的,在写防抖节流的时候面试官催我写快点,后面还有两个人,都不容易啊。反问的时候主要问了深信服的面试流程:一共三面。

#23届秋招笔面经##深信服##深信服前端面经##面试##前端面经#
全部评论
过了吗 和我问的几乎一摸一样
点赞 回复 分享
发布于 2022-09-12 17:18 湖南
楼主收到二面通知了吗
点赞 回复 分享
发布于 2022-09-13 12:36 湖南
大佬现在有消息吗?我8号面完也无后续了
点赞 回复 分享
发布于 2022-09-19 17:08 广东
请问第一题是啥意思,没看懂
点赞 回复 分享
发布于 2022-09-12 13:26 福建
大佬,有后续了吗?
点赞 回复 分享
发布于 2022-09-13 14:36 湖北

相关推荐

2024-12-16 10:44
北京邮电大学 Java
之前说过如果拿到美团offer就把这么多轮的面试经验全写出来先说一下本人的经历有9个部门约面,2次拒面,4次二面挂,1次hr面挂,2次一面挂9月初做完笔试,隔了一周,优选约面了,秋招第一面,面的很差,没有准备好,手撕sql没写出来,另一道手撕写的不太好,果不其然一面挂9.30金服约面,这次面试全是八股,此时我的八股水平相当一般,每次深挖都不会,手撕是合并两个升序链表,一面寄过完国庆回来半个月美团再没约面过了知道10.20左右,SaaS部门约面这下就开启了我的噩梦循环,一面面评很不错,二面面试官问了在滴滴实习的限流的底层原理,实习的时候就没太看懂,面试的时候答的不好,但是侥幸二面过了,hr面的时候面试官问对大厂的印象,直接胡说八道了,过了三天人才库月底又面一轮到家二面问了很多场景题,答的都不太好,面试官提醒才能理清思路,面完就挂了走完这一轮面试已经11月了,11月更是噩梦循环,3次二面挂,可能因为之前有终面挂的经历面评还不错首先是美团平台,这个印象不深,自我感觉答的还可以,面试官也聊的不错,最后挂了,给面试官发邮件问了,面试官说前面的人接了offer,没有hc了遂挂然后就是我最想去的部门和base,成都的到家做营销业务的,面试很顺利,二面面试官是我的老乡,面完又开始紧张等待结果,还是挂了最后是核心本地平台做对内的系统的,可能还不如手里的保底offer,最后也不太想去,但是还是面了,二面挂,想不通时间到了12月,我的心态也是出奇的好,这个时候又陆陆续续有两个部门约面,但是心态已经很疲惫了,加上业务也不好,直接拒面了,每次来来回回都是半个月,很耽误时间,上周目前这个部门约面,一开始说周五面试,后面面试官有事又改到这周一,最后因为主管要出差,直接约面的第二天就面试了,两轮面完,第二天就oc了,谈薪没a动,但是也收到了正式offer,感觉也还能接受,剩下等等阿里和邮储就差不多签了一些面试tips1.这几次面试挂都是3天人才库,我看网上有的是长时间没有操作回的,可以问问面试官,有时候会捞回去2.美团面试是我秋招面试里最爱问八股的,一定要好好准备,问的也不难3.美团大部分技术面都有手撕,有时候会让写sql,没准备过,遇到一次寄4.很神奇每次面试碰到问最近看什么书这个问题的都挂了,感觉问这种问题就是面试官已经对你不感兴趣但是还要凑时长5.面试一定要好好准备,面了13次面试每次都有新的不会的点,一面八股居多,也看面试官,场景题最好也准备准备,普通八股是基础,一些中间件的原理也得知道6.坚持一定有好结果
甜美的牛牛在写bug:下载美团外卖没绷住
点赞 评论 收藏
分享
评论
25
73
分享

创作者周榜

更多
牛客网
牛客企业服务