腾讯、今日头条、欢聚时代(YY)等前端工程师面试记录及题目分享(2018.08社招)

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/Fabulous1111/article/details/81155971

读者须知:

本人毕业于2017年6月,以下为本人2018.07.17离职后的面试遇到过的面试题,面试的是中高级前端工程师岗位,适合拥有一年实际开发经验的朋友阅读,也欢迎经验不够但对前端有兴趣的朋友阅读以确立自己的方向。

面试过的公司:

腾讯、欢聚时代、今日头条、三七互娱、多益网络、CVTE、荔枝FM、深信服、平安科技、平安好房、链家、欧派家居、富力地产

面试题分享

以下题目排序不分先后、不区分哪间公司,因为是面一面就记录一下,所以有可能有题目重复,答案一般都能查找得到,重要的还是理解与应用。

理解与问答:

1、http工作原理

2、http缓存机制

3、首页性能优化

4、vue双向数据绑定原理

5、vue依赖收集的实现

6、Promise实现原理

7、CDN缓存与客户端缓存

8、get请求与post请求区别,优缺点

9、进程与线程

10、UDP与TCP,适用场景

11、http与https区别

12、http1.0、http1.1与http2.0

13、webpack基本配置

14、OSI七层模型及对应协议

15、其中一间公司有问到MySQL、linux相关知识(其他公司很少见)

16、SQL注入的预防

17、对CSRF与XSS的认识与预防

18、浏览器渲染引擎相关知识

19、是否使用过express,谈谈express中间件机制及实现原理

20、跨域相关知识

21、git rebase作用及原理

22、回流与重绘

23、xss与csrf攻击

24、函数节流

25、前端性能优化

26、vue生命周期

27、flex布局,flex取值

28、提交的两种实现(input + type=”submit”, button+点击事件)

29、get和post对比

30、不同浏览器的事件机制

31、JS跨域及解决方法

32、浏览器不同tab之间通信

33、浏览器缓存机制

34、异步机制

35、amd、cmd规范

36、vue-router的原理

37、url构成

38、cookie有哪些安全的设置

39、cookie和session的区别

40、cookie、sessionStorage、localStorage

41、同源策略的认识

42、css盒模型

43、跨域请求方式有哪些,怎么实现

44、如何获取元素相对浏览器的位置

45、拖拽事件

46、从事件的角度,说明点击一个a标签,控制台输出其href值的具体过程

47、什么是事件代理

48、事件冒泡、捕获

49、进程、线程,进程间通信

50、同源标签之间如何通信

51、window.onload和document.ready是否是同时执行,为什么

52、cors请求和普通的http请求有什么区别

53、vue双向数据绑定原理

54、http与https区别

55、严格模式混杂模式

56、argument

57、进程间通信

58、tcp协议三次握手四次挥手过程

59、tcp和udp区别

60、JavaScript执行机制,事件循环、微任务、宏任务

61、Vue.js组件Render函数的作用是什么?简述使用场景

62、Vue Virtual DOM的作用是什么?浅析其原理

63、Vue.js的keep-alive的作用是什么?简述使用场景

64、Vue mixins作用

65、vur-router实现原理

编程:

1、自己实现一个parseInt函数

2、解析一个url,包括hash值

3、写一个url解析函数,解析出查询参数

4、原生ajax、jsonp实现

5、编程获取一个二叉树的最大深度

6、写一个对象的事件函数,考察es5和es6的区别

7、冒泡排序、插入排序

8、请使用数组的reduce方法实现数组的map方法

9、快速排序

10、请用至少两种方法判断一个对象是否是数组,如何将非数组转化为数组

11、实现节流去抖函数

12、实现bind函数

13、二分查找

14、无序数组n个数得到目标和,要求返回所有解

15、两栏布局,左边定宽,右边自适应

16、label关联对象属性,for

17、settimeout输出12345,闭包问题

18、js实现对象深拷贝

19、事件委托怎么写

20、数组去重

21、原生ajax、jsonp实现

22、判断一个单词是否是回文

23、统计一个字符串出现最多的字母

24、不借助临时变量,进行两个整数的交换

25、找出正数数组中的最大差值

26、随机生成指定长度的字符串

27、实现类似getElementByClassName的功能

28、js实现二叉查找树

29、原生js实现路由

30、原生js实现对象属性监听器

31、js继承的方式,不同继承方式的实现

32、基于Promise,原生js实现ajax

33、哈希表、平衡二叉树等数据结构

34、排序算法(冒泡排序、插入排序、快速排序等)

35、重载与多态,JS如何实现

36、JS阻止事件冒泡及默认事件,兼容IE

37、实现传入一个不定长度字符串,查找出重复次数前n名的字符并分别统计其次数。

38、a、b两个字符串,不借助其他变量,实现a与b交换

39、js实现测试接口请求耗时

40、实现一个简单的JQuery插件

41、写一个方法,实现随机生成长度为n的字符串,字符串取值[a-z][0-9]

42、给Array增加原生方法,hash方式实现数组去重

43、事件委托怎么写

44、手写一个闭包,根据此闭包问问题

45、事件冒泡、捕获

46、自己实现一个parseInt函数

47、写一个url解析函数,解析出查询参数

48、js实现对象深拷贝

49、原生ajax、jsonp实现

50、解析一个url,包括hash值

51、淘宝等网站倒计时效果如何实现

52、是否了解红黑树,谈谈你的理解

53、一个大文件里的整数需要排序,文件大小有10G,但机器内存只有2G,如何实现?(可使用熟悉的语言)

54、使用Node.js的fs模块,实现文件夹的深度优先遍历和广度优先遍历。输入文件夹的路径,输出所有文件的列表。

55、实现一个复制函数,可以对JavaScript中的5种主要的数据类型(包括Number、String、Object、Array、Boolean)进行值复制。

56、通过代码形式描述 async/await使用方法

57、通过正则表达式的方式,如何获取在url上参数?请通过代码形式描述

记忆比较清晰的每面有记录的就这些,还有一些临时做答的场景题,记得不是太清,就没有记录。

css类:

css类问题印象中问得很少,只有笔试遇到一些,记得的如下:
1、css清除浮动
2、position取值
3、z-index不生效的场景有哪些
4、不定宽高元素垂直水平居中
5、css实现一个占屏幕宽度50%的正方形
6、布局问题(三列布局、两列布局)
7、实现两列布局,第一列固定,第二列宽度自适应
8、css实现三角形
9、HSL色彩模型是什么,在CSS中如何使用
10、css居中正方形,flex居中,正方形用padding做
11、请使用CSS3实现一个长宽等于100px的div,1000ms后变成一个有阴影原型,并横向向右移动了50px的效果。加分:用画布实现以上效果

总结:

大型互联网公司社招比想象中更难一些,比较多原理性的知识,最喜欢的公司是腾讯,希望下次再面试能有进去的实力。

展开阅读全文

没有更多推荐了,返回首页