【前端面经】腾讯WXG实习一面

电话面:40分钟

背景:双非硕 非科班

官网显示晚上7:30面,7:45面试官打电话过来了

  • 面试官介绍了一下部门情况
  • 自我介绍,接触前端的过程,如何学习前端的,有没有看过什么书,可以实习多久?
  • 聊了聊其中一个项目,为什么做这个?
  • 为什么选Vue,还了解什么框架?对Vue3有了解,那说一下你了解的部分
  • 讲一下页面渲染过程,讲到了V8引擎执行机制,这部分聊了十多分钟
  • 页面白屏如何进行优化?了解gzip吗? -没回答全,就说了下打包
  • html文件加载流程 页面先加载DOM还是CSS
  • 了解闭包吗 谈到了闭包的形成机制以及缺点。
  • 为什么要设计闭包?讲了下纯函数。有没有更实际的应用?讲了下项目中用到的防抖函数(好像还不满意)
  • 给你一个抢茅台的页面,怎么保证用户的公平性?(提示:用算法) 这题没答上,用队列?
  • 又聊回项目,讲项目中遇到的难点。
  • 了解webGL吗? 没用过

面试官说下周换人来面,和他们组技术栈不太匹配 :)

复盘

对于页面白屏的问题,可以从以下几个方面来回答[1]

  • HTTP 请求头中的 Accept-Encoding 头添加 gzip
  • 采用HTTP2 (首部压缩、流量控制、服务器推送)
  • 静态资源CDN
  • 缓存
  • JS文件放在底部,防止阻塞
  • 图片懒加载、雪碧图、采用webp格式图片
  • 服务端渲染

对于抢购页面的设计,可以从以下几个方面回答[2][3]

设计思路:

  • 初始化时调用后台接口获取活动截止时间,与用户当前时间比较,计算剩余时长
  • 开启定时器,根据剩余时长渲染倒计时

方法一:new Date()

由于本地时间用户可以修改,因此不能直接通过本地时间来判断,我们进行时间校验

//首先获取服务器时间
let serverTime = await getServerTime()
//获取本地时间
let clientTime = new Date()
//设定一个时间差
let diff = 5000
if(Math.abs(serverTime-clientTime) > diff){
    //时间有误,禁止访问
}

方法二:通过浏览器提供的performance.now(),与本地时间无关

let t0 = window.performance.now();
doSomething();
let t1 = window.performance.now();
console.log("doSomething函数执行了" + (t1 - t0) + "毫秒.")

了解了基本功能后,我们可以大致实现下

async function getTime(){
    serverTime = await getServerTime()
    localTime = performance.now()
}
function getCurrentTime(){
    // 用(服务端时间+本地时间差值)来模拟当前服务器时间
    return serverTime + (performance.now()-localTime)
}
async function foo(){
    await getTime()
    document.addEventListener("click",()=>{
        let time = getCurrentTime()
        // 用这个时间进行倒计时逻辑处理
})
}
foo()

参考链接:

[1] :前端性能优化 24 条建议
[2] :Javascript实现秒杀倒计时(时间与服务器时间同步)
[3] :前端时间校验与校准

#实习##前端##面试题目##腾讯#
全部评论
请问楼主之前有实习过吗~
点赞 回复 分享
发布于 2022-03-20 13:29
这个7.30是早上还是晚上啊
点赞 回复 分享
发布于 2022-03-17 23:43

相关推荐

03-25 19:43
湖北大学 C++
点赞 评论 收藏
分享
昨天 16:40
已编辑
门头沟学院 C++
26学院本太难了,很多公司机筛就给我刷了。机会都难拿到如果是简历存在问题也欢迎拷打————————————————————分割线——————————————————————2026.3.4更新:发完贴之后,时不时投递又收到了不少的笔试/面试邀请。主要是之前投递简历出去之后基本上都是沉默状态,年后好转了不少timeline:2026.01.21 文远知行笔试,半年多没刷算法题 ->挂 (后续HR说春招可以重新安排笔试)2026.2.4     小鹏汇天 技术一面,第二周收到结果 ->挂2026.2.12   大众Cariad代招 技术二面 ->Offer2026.2.28   多益网络技术面试,由于风评太差,一直在犹豫要不要接面试 ->推迟-----------分割线-----------2026.3 月前的某一天,临时去电网报名了二批计算机岗位的笔试2026.3.6 从上家公司实习离职,氛围最好的一家公司,leader 说可以帮忙转正,但是流程太长,而且我们部门据说只有一个 hc,更想要研究生,我很有可能是会被签外包公司在这里干活,就离职了。2026.3.9 入职新公司,大众Cariad 以外部公司的身份进组,项目组签了三年,后续三年应该都可以在这里呆,不知道有没有希望原地跳槽。2026.3.10 电网考试居然说我通过资格审查了,短信约我去参加资格审查,请假一天,买了 12 号晚上的机票回成都2026.3.15 参加国家电网计算机类笔试2026.3.17 电网出成绩了,感觉很低。觉得已经🈚️了2026.3.18 收到电网面试通知,通知 3.22-3.25 这个时间去面试,我的岗位只招 1 个人。据说面试只有 2-3 人,不知道能不能成功----------分割线-----------2026.3.21 电网面试结束,感觉回答的还勉勉强强,大概是2个岗位分别招1个人,一共11人面试,实际来了9人2026.3.27 出面试成绩,满分100分,早上10:20左右发现面试成绩46,我震惊了,没截图,后面过了十分钟重新看发现面试成绩给我改成58了。但同样震惊。朋友问我是不是把面试官打了,哈哈
点赞 评论 收藏
分享
评论
8
59
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务