腾讯提前批7面面试总结

腾讯(PCG移动商业产品部)初试

1.自我介绍!!!

2.在这么多的项目中你最熟悉的是什么?

3.能详细说明一下你是怎么通过设置请求头解决了缓存问题吗?

追问:使用了标准http请求头之后还是会偶现数据没更新对吗?有没有考虑过可能是说因为你之前没有加过头,后面加了以后浏览器又把之前的头给缓存下来了呢?
主要考察http缓存

4.在这个项目中有没有用到登录这个功能?

追问:怎么实现登录呢?

追问:让你做一个登录的页面,你会怎么做呢?(比如登录之后,我去请求购物车,为什么我能返回来的是自己的购物车,而不是别人的?)

使用token认证机制

5.假设界面显示价格为9.99元,现在我去拉取了后台的价格,现在数据为8.88元。当你把数据设置为8.88后再到页面显示成8.88元。在这个期间你了不了解vue帮你做了什么事情?

双向数据绑定+发布订阅者监听+虚拟dom(diff算法)+生命周期钩子(beforeupdate、update)

6.用过哪些es6语法?

追问:数组里面新加的方法你有用过哪些?

7.https(传输过程是安全的,但是怎么解决密钥本身是安全的呢?使用证书的机制解决这个问题)

最后一道编程题:

三次重试:假设有一个函数名为job,调用job后会执行一些异步任务,并返回一个Promise,但job执行的异步任务任务有可能会失败

请实现函数retry,把job作为retry函数的参数传入,当retry执行后会尝试调用job,如果job返回成功(即Promise fulfilled),则retry函数返回job函数的返回内容;

如果job返回失败(即Promise rejected),retry函数会再次尝试调用job函数。

如果job连续三次均返回失败,retry则不再尝试调用,并返回其最后一次失败的内容。

 function job() {
            return new Promise(function (resolve, reject) {
                setTimeout(function () {
                    var num = Math.ceil(Math.random() * 20); //生成1-10的随机数
                    console.log('随机数生成的值:', num)
                    if (num <= 1) {
                        console.log('符合条件,值为' + num)
                        resolve(num);
                    }
                    else {
                        reject('数字大于1了执行失败');
                    }
                }, 2000);
            })
        }

        function retry(job, times, delay) {
            return new Promise(function(resolve, reject){
                function attempt() {
                    job().then(num => {
                        resolve(num);
                    }).catch(function (err) {
                        console.log('还有', times - 1, '次尝试');
                        if (0 == times - 1) {
                            reject(err);
                        } else {
                            times--;
                            setTimeout(attempt(), delay);
                        }
                    })
                }
                attempt();
            })
        }

        retry(job, 3, 1000).then(result => {
            console.log(result);
        }).catch(err => { console.log(err); });

或者

        function job() {
            return new Promise(function (resolve, reject) {
                setTimeout(function () {
                    var num = Math.ceil(Math.random() * 20); //生成1-10的随机数
                    console.log('随机数生成的值:', num)
                    if (num <= 10) {
                        console.log('符合条件,值为' + num)
                        resolve(num);
                    }
                    else {
                        reject('数字大于10了执行失败');
                    }
                }, 2000);
            })
        }

        async function retry(job, times) {
            for (let i = 0; i < times; i++) {
                try {
                    return await job();
                    break;
                } catch(err){
                    if(i == times-1){
                        return err;
                    }
                }
                finally {
                    console.log('还有', times - i - 1, '次机会');
                }
            }
        }

        retry(job, 3).then(num => { console.log(num) })
腾讯第二次初试
1.考研?

2.fastClick原理

3.点击穿透

4.图片懒加载原理(节流是什么)

5.介绍一下mvvm(从双向绑定原理开始讲)(怎么监听数组的变化?)

6.使用闭包实现变量自加一

7.setTimeout第二个参数为0时和匿名自执行函数区别

8.微任务有哪些?

9.你是怎么压缩图片的?

10.你是怎么实现瓦片绘制的?为什么在ios下会出现200万像素绘制不了的情况?

11.数组和链表的区别?

12.cookied和session的区别

13.nodejs中的require原理

14.webpack中如何实现按需加载的

腾讯(PCG动漫)初试

1.tcp三次握手

2.网络攻击(xss、csrf)

3.性能优化(懒加载、缓存、重排重绘)

4.闭包

5.cookie和localstorage区别

6.http状态码

7.在地址栏里输入一个url到这个页面呈现出来,会发生什么?
DNS解析-tcp三次握手-http连接传输数据-服务端处理(返回304或200)-解析渲染dom
8.跨域方案

9.手机适配你会怎么做?(媒体查询、rem、vwvh)

10.你未来的方向和目标

11.最近都有再看什么书?(现代前端技术解析、js高级编程、html5和css3响应式)
腾讯(PCG动漫)复试(主要针对自己的个人项目,这里我只是记录下所问的问题,读者可以不必看)
1.介绍你做过的项目(为什么移动端和PC端要分开写)
2.你在项目中具体做了什么?
3.移动页面的复杂度在哪里?有具体案例吗?解决方案是怎么获取的?
4.图片压缩后台怎么实现你知道吗?怎么牺牲图片的画质呢?
5.输入 有做什么安全处理吗?(xss攻击,常见的字符转义处理有哪些?)
6.工作室技术
7.PC浏览器的分布?主流浏览器的版本
8.本地存储你有做什么特别处理吗?
9.缓存问题,Etag和IF-modify-since是怎么来的?
10.你使用的传输协议是什么?
11.谈谈你对nodejs的理解
12.Express+monogose
13.你是怎么开始构建一个项目的?
14.前端开发优势和不足?(不足你是怎么提升的?最近一次让你印象深刻的问题)
15.你遇到最难的问题是什么?
16.对你未来的规划?
17.技术相关的其他爱好
腾讯(医疗健康部门UI开发)初试
做了一个简单页面上交
腾讯(医疗健康部门UI开发)复试
复试一般问项目难点和你解决的思路,然后面试官介绍了一下自己的部门情况
没有问技术相关的知识点
腾讯(医疗健康部门UI开发)hr面
1.你前面面试过很多部门,那么你觉得你自己面试失败的原因是什么?
2.有考虑过考研吗?没想过读了研究生之后再来找工作吗?
3.比起研究生硕士你觉得你的优点在哪里?我们为什么要选你?
4.对你的岗位有什么期待?
5.你遇到最具有挑战的事情?
6.你有什么爱好吗?
7.你理想的工作地点
8.你还有什么要问我的吗?
#腾讯面试##实习##面经##腾讯#
全部评论
楼主是21届的吗
点赞 回复
分享
发布于 2020-07-15 09:18
楼主oc了吗,想问下楼主hr面的问题3是怎么答的
点赞 回复
分享
发布于 2020-08-27 19:52
联想
校招火热招聘中
官网直投
楼主面的岗位全部是UI开发吗,这个岗位面试技术问的多吗?
点赞 回复
分享
发布于 2021-09-12 18:00

相关推荐

3 18 评论
分享
牛客网
牛客企业服务