2018年1月23日腾讯SNG-IMWeb前端工程师 电话远程面试记录

版权声明:欢迎关注小站:https://ZQ-jhon.github.io https://blog.csdn.net/qq_20264891/article/details/79158495

前言

2018年1月18日,突然接到一个来自深圳的电话,对方说从拉勾网上看到我投递腾讯SNG部门的IMWEB团队前端,简单询问了一下我的具体情况,包括前端的就职年限,过去的工作经历。其中有一点比较有意思的是,对方问我为什么2016年7月毕业直到2017年2月入职中国XX网,这之间的简历是空缺的?我回答他说因为刚毕业没有太好的就业选择和机会,错过了很多校招,所以在毕业的时候去一个艺术培训学校当了半年的吉他老师,因为觉得和前端的职业经历没有关系,因此没有把这段经历写在简历上。对方说,我觉得你应该把这段经历也写在简历上,我说好的谢谢。
接着问了他招聘的是什么职位,对方说是前端工程师,我说主要负责什么工作?他说主要负责腾讯课堂的一些前端工作,我跟对方说,我目前还在老家,可能无法及时的去深圳那边面试,问了他可不可以远程面试,遂对方跟我说,可以采用电话面试,并且约定了电话一面的时间,2018年1月23日。

面试的过程及结果

从接到电话直到第一次面试的这段时间,我在网上大量的检索了关于腾讯电面的经验,并且深入的针对一些常用的考点,进行梳理和总结,例如:闭包、原型、作用域链、Ajax、http协议、盒模型、兼容问题、xss/csrf攻击、浏览器渲染(重绘重排)等。
在1月23日的当天,5点多回家,还一直在看复习资料,饭也顾不上吃。
7点,从深圳打来了一个熟悉的电话。整个电话持续了40分钟之久,基本上问的都是基本的原理,而后可能我的回答让面试官也比较满意,之后是1个半小时的远程监控编程环节,三道程序设计题,给一个半小时的时间,腾讯面试官远程QQ协助监控你的桌面,只允许用浏览器的console以及本地编辑器,不允许查询资料,在编程过程中,面试官还会试图针对一些有问题的地方给予提示。最后,我还是很遗憾的没有通过,因为三道编程题目,我磕磕巴巴基本上没做出来,所以挂了,把文件打包发送给面试官后。我问面试官,像我这样经历不丰富,简历不突出的,为什么会考虑我呢?面试官说,我们什么阶段的人选都会考虑,你入行前端一年,基础还是不错的,就是编码能力需要提高。。。
面试完以后,大概有几个小时,一直沉浸在刚才的面试里,晚饭也忘了吃了,一直在反思自己哪些地方答的不够好,这几天的复习哪些地方有疏漏。
我的互联网公司处女面就以失败告终了。但是回头想想,这次失败的经历是一面镜子,让我清楚的认识到自己几斤几两,督促我在今后的学习中一步一个脚印,脚踏实地,再去仰望星空。

电话里问到的题目

接下来,根据我当天的通话录音,来对所问到的题目进行穷举:

1.接你现在的工作主要是偏前端还是偏后端?我看你大学的课程主要是偏后端一点?

A:大学课程修完以后,出来没找到工作,干了半年吉他老师,对自己就业比较迷茫。回 到老家以后,干前端、运维都有,但是主要是前端。

2.接触前端多久了?接触/学习的渠道是什么?

A:满打满算一年。刚开始是同事辅导,慢慢入手以后,在W3CSCHOOL、网易云课堂、腾讯课堂、慕课网学习。

3.Ajax发送请求的步骤?

3.1 xhr.open()

3.2 xhr.send()

3.3 callback()

4.浏览器里面的事件都会按照一定的规则去传递,这个规则是什么?

5.事件代理,事件委托是什么意思?

6.闭包是怎么回事?用在什么场景?

6.1 变量常驻内存会带来什么问题?

6.2 如何避免这种问题?

6.3 怎么销毁?

7.CALL和Apply是干嘛的?

8.在平时开发中,遇到过跨域的问题吗?如何处理跨域呢?

8.1.如何进行CORS跨域?需要什么条件?

8.2 对服务器来说,返回json数据和JSONP数据有什么不一样?

8.3 还有其他跨域方式吗?

9.简单说一说盒模型,W3C和IE怪异盒模型。

10.简要阐述XSS和CSRF攻击及防范

10.1 XSS脚本劫持,如何截获?(ps.这里居然把CSRF的概念当做XSS的来回答….)

10.2 CSRF域名劫持

11.强类型语言有继承,在JS里面如何做到继承呢?(proto和prototype)

11.1 例如构造函数有一个test()方法,prototype上也有一个test(),这两个方法有区别吗?

12.页面性能优化有哪些方式?

12.1 文件、脚本合并是如何优化的呢?

12.2 重绘,重排是怎么回事?有什么区别?

12.3 请举例说明重绘,什么情况下会重绘?

12.4 你认为样式是会引起重绘的吗?什么样式会引起重绘/重排?什么属性会引起重绘/重排?

13.浏览器如何知道一个文件资源是否需要缓存?

14.HTTP状态码304,502,503

14.1 1,2,3,4,5 开头的状态码都表示什么?

15.Node、Vim、angular简述

15.1 Node上如何处理异常情况?(Ps.我回答的是开发调试。。。找js文件)
15.2 已经上线的项目,出问题,怎么样去处理异常?

16.构建工具除了Webpack,还接触过其他的吗?

16.1 Webpack的优点和应用场景?

编程大题

1、页面内有一个正方形元素A以及一个待放置区域B,实现对其拖拽和放下到B区域内,并且改变B区域背景颜色(不可用html5原生事件)。

2、实现超出整数存储范围的两个大正整数相加 function add(a, b) 。
注意:参数 a 和 b 以及函数的返回值都是字符串。

3、页面内有一个input输入框,实现在数组arr查询命中词并和autocomplete效果。

这个环节基本上就知道自己GG了。。。

第一题考基本功,DOM、事件、定位、jsAPI

第二题考算法,基本逻辑

第三题考原理,基础

不得不说面试官的技术确实比较全面,腾讯的远程面试也是好狠,直接远程监控写代码的。。。鼠标和界面都不敢静止,静止可能就会被认为作弊(不知道他们是不是这样来判断的,反正我没有停下来过)。

以下是做完所有题目后跟面试官的沟通记录。天真的我以为会被眷顾招入鹅厂,然鹅我想多了。。

图1
图2
图3
图4

猜你喜欢

转载自blog.csdn.net/qq_20264891/article/details/79158495