腾讯2018暑期前端实习生面试问题(面向2019毕业生)

    收到腾讯的面试短信之后,心里很激动,随即就着手开始准备面试(对于笔试我就不赘述,要准备笔试的同学可以到牛客或者赛码进行练习)。从网上搜了很多面试的题目,复习的范围很广,但是也很杂。感觉这样的效率的确是有一些低。

    接下来我会说一下我的面试题目,以及对面试题目进行一个总结。由于面试时间是早上9点,所以我6点就起了床收拾一番之后就去面试地点,去的路上和面试完整个人的脑袋都是蒙的。有些面试的题目已经记不得,所以我就尽力回忆,有所遗漏请见谅。

    By the way,我遇到的这个面试官出牌有点不按套路,与以往首先让你介绍自己的流程不太一样。大家在面试的时候也要注意一下,学会随机应变。

① 介绍自己在前端学习的经历

    我把从大一到大三学习的与有关前端的课程,以及课程内容进行了描述;同时还说了一下自己在课余时间学习前端的一些方法,还有正在学习的ReactJs。

② 有关ReactJs

    这个问题算是自己给自己挖了坑(后来了解到他所在的部门2015年用的框架是Angular,到了2016年以后就换成了ReactJs)。

    问:平时怎么学习React?

    答:因为是刚开始学习,所以就一步一步按照官方文档来学习。

    问(并用自己的电脑打开了官方文档给我看):是这个英文版的吗?

    答:是的,没课的时候就会自己看一下,学的比较慢。现在才学习到React的State机制。

    问:好,那说一下自己学习ReactJs的一些收获。

    这个具体怎么答的我忘了,总之对这个答的不太满意。

③ 在纸上写下来一个前端开发工程师必备的一些技能(专业技能,并非通用技能)。

    我写的有:HTML/JS/当下流行的前端框架/计算机网络/数据结构/操作系统/对后端语言也要有一些了解。

    然后接下来的问题都是围绕着我写的这几点问的(又是自己挖坑自己跳)。

④ 有关HTML/CSS的问题。

    问:说一下display和position的取值。

    答:display的取值有:table/inline/block/inline-block(当时就说了这些,还有经常用到的none,table-cell这些一紧张忘记说了);position的取值有:fixed/relative/absolute(static忘记说了)。

    问:说一下absolute。

    答:absolute是对元素的一个绝对定位,是相对于浏览器可视区域的一个定位,比如:position:absolute;top:o;这个CSS代码就会让元素显示在浏览器的最上方。position属性设置为absolute的元素会脱离文档流(又给自己挖坑了)。

    问:什么是文档流?

    答:我对文档流的理解就是:在文档流中的元素就像在一块画布上画的画,而脱离文档流就像在画布的上面放了个东西,脱离文档流只会就会遮挡处于文档流中的元素。再举个例子就像是:云彩和大地的一种关系。

⑤ 有关Js的问题。

    问:说一下你对事件的理解。

    答:我认为事件就是对用户操作的一种响应。

    (关于事件大家可以看一下这篇博客:有关JS事件理解和总结

    问:再说一下事件代理吧。

    答:我对时间代理的理解就是事件A不由a做,而让b去做。

    问:为什么这样做呢?

    这里我不太了解,就如实招了,顺口说了一下有可能是为了降低耦合度吧。有关时间代理大家可以看一下下面两篇博客:

    https://www.cnblogs.com/liugang-vip/p/5616484.html

    https://blog.csdn.net/supercoooooder/article/details/52190100

⑥ 有关HTTP的问题。

    有关HTTP我叽里呱啦说了一些,大概内容有:HTTP的头部,HTTP的状态码,HTTP返回码,ajax中xmlHttpRequest()的应用,还有在浏览器输入域名之后的操作(比如:重定向->检查DNS缓存->DNS解析->发送请求等)。

    随后面试官在电脑上打开了一个抓包工具,让我讲一下每一个字段代表什么含义,这里大家可以参考这篇博客:HTTP头部字段含义(现在每个浏览器应该都会有开发者工具的插件,大家可以下载下来好好研究一下,熟练使用浏览器的插件会对开发效率有很大提升),下图是chrome的开发者工具里的抓包截图,大家可以参考一下:


      说完每个字段的含义又让我说了一下Cookie包含那些,以及Cookie,LocalStorage和Storage的区别(这一部分我没答上来)。  

⑦ 总结

    这个面试持续了50分钟左右,总的来说问的问题并没有特别的偏,都是规规矩矩的面试题目,并且面试官也很和善。从上面的题目和我做过的面试题来看,最重要的就是打牢基础!!!下面我总结了一下面试前需要认真准备的内容(仅就个人经历而言):

    1. 对于计算机基础课程尤其是计算机网络一定要认真学习,比如:DNS,TCP/IP,UDP以及HTTP,七层架构,五层架构之类的一定要烂熟于心;操作系统中进程的通信方式,进程阻塞的必要条件;数据结构里常见的排序和数据结构(链表,哈希表,栈,队等)的实现;

    2. 还有前端一些常见的布局,比如:垂直/水平居中布局,左中右布局等;如何清除浮动;

    3. JS中对ajax的实现;设置/获取Cookie;事件代理(也称事件委托);虽然说JS是单线程的一门语言,但是也有异步操作,如:setTimeout()等;JS闭包,作用域,作用链域等。

    4. 尽可能去学习当下比较流行的前端框架,在和面试官交流的过程中他也建议我去好好学习一下React,现在各个大公司对React的人才需求很大。

⑧ 结束语

    今天的面试内容和自己的一些心得体会也就这些,作为一名大三的学生能通过笔试进入面试着实很开心,不管能不能拿到offer都希望自己的一些经历能帮助到大家。如果有什么错误欢迎指出,我会加以修改!

  • 6
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值