fetch 不是xhr_春招|前端2019应届春招:不是被大厂选,而是选大厂(字节跳动,美团,网易)...

作者:Thescavenger

链接:https://www.nowcoder.com/discuss/163165

来源:牛客网

你需要的前端面经

个人情况

本科,成都双非大学,大三开始正式学习前端,主攻 react,目前大四。已拿美团、字节跳动 offer,网易的正在等结果

博客原文

欢迎关注个人 github:https://github.com/lawler61/blog,在那上面会实时更新

字节跳动面经

一、笔试,2 个小时

一共 8 道问答题,有问答、编程、手撸原理等。当初以为全部是高难度算法,准备了好久的算法,结果考的很少。不得不说字节跳动的前端提前批挺人性的(单从我角度上看)

1、实现一个类可以完成事件 on, once, trigger, off

关键词:订阅-发布模式

2、发布新闻时需要提醒发布的时间。写一个函数,传递一个参数为时间戳,完成时间的格式化。如果发布一分钟内,输出:刚刚;n 分钟前发布,输出:n分钟前;超过一个小时,输出:n小时前;超过一天,输出:n天前;但超过一个星期,输出发布的准确时间

3、谈谈计算机中原码,反码,补码以及它们之间的转换

关键词:正数、负数、0

4、格式化数字。输入:12345,输出:12,234;输入:2345.6789,输出:2,345.6789。要求:使用正则和非正则两种方式实现

5、给一段文本,将文本数组化,示例如下:

asd ehe  rjr
d  erregrnt eruk
rth sthst ar   gae// 输出
[asd, ehe, rjr]
[d, erregrnt, eruk]
[rth, sthst, ar, gae]

二、一面,视频面,90 分钟

笔试难度整体中等偏上,2 天后,hr 打电话说过了,约个面试时间

1、自我介绍

2、mobx 和 redux 区别

3、http 常用的请求方式,区别和用途

关键词:get,post,put,delete...

4、http 常用的状态码和使用场景

关键词:1x - 5x

5、http 缓存

关键词:强缓和协商缓存

6、http2

关键词:信道复用,server push

7、来写写代码,好勒

  • css div 垂直水平居中,并完成 div 高度永远是宽度的一半(宽度可以不指定)
  • 下面代码执行顺序,并解释
async function async1() {console.log('async1 start');await async2();console.log('async1 end');}async function async2() {console.log('async2');}console.log('script start');setTimeout(function () {console.log('setTimeout');}, 0);async1();new Promise(function (resolve) {console.log('promise1');resolve();}).then(function () {console.log('promise2');});console.log('script end');
  • 实现函数能够深度克隆任何基本类型。附加题:实现对象中嵌套数组,数组中嵌套对象

8、前端性能优化

关键词:html,js,服务器

个人感受:一面是北京的一个小姐姐面的,问的问题偏基础,很中肯

三、二面,视频面,70 分钟

当前晚上就收到 hr 电话说过了,约个时间二面

1、讲讲订阅-发布模式,有几种实现方式

关键词:listener、Object.defineProperty

2、事件流

3、事件是如何实现的

关键词:订阅-发布模式

4、mobx 实现原理

关键词:Object.defineProperty,自定义数据类型提供操作 api

5、讲讲 redux 及其原理

关键词:发布-订阅模式 + reducer 纯函数管理

6、react 生命周期

7、diff 原理,key 如何使用

关键词:先根据 key 找,再遍历查找

8、setState 是否异步,为什么。如果连续 setState 5 次,react 如何处理

关键词:react 事件中 setState 浅合并

9、来写写代码

  • 实现这么一个类可以完成如下输出(可以不用到类中的函数)
class Observer {$on() {}$emit() {}}const data = new Observer({ a: 1 });console.log(data.a); // 输入: 1data.$on("a", (newValue, oldValue) => {console.log(newValue, oldValue);});data.a = 2; // 输入: 2 1

10、new 一个构造函数发生了什么

关键词:除了那 4 步,还可以从 EC,AO,VO 对象上说

个人感受:二面明显难度加大许多,一面面基础,二面面框架,就连手写代码都是 Vue 的基本实现原理。以为会凉,伤心好久

四、三面,视频面,60 分钟

过了两天,hr 打电话说过了,约个三面时间,面试官忙,改到了下周

1、讲下 MVVM 和 MVC

2、讲下两者的区别,什么场景下适合用

3、讲下 angularJS 和 angular 的区别

4、为什么 angular 取消默认双向绑定

5、还用过其他架构吗(估计想问 MVP)

6、new 一个构造函数,如果构造函数返回 return {}、return null,会出现什么情况

关键词:还可以试试 return 1; return true; 会出现什么情况

7、CDN 原理

关键词:DNS 查询,负载均衡

8、来写写代码

  • 顺序发送 4 个请求 a,b,c,d,要求按照顺序输出,即如果先返回 b,则不输出,再返回 a,输出 a,b

9、V8 内存回收机制

关键词:老生代,新生代。引用计数、标记清理

10、webpack 打包优化

关键词:dll、多线程...

11、你认为 webpack 哪里打包慢

个人感受:面完后自闭了,三面是偏架构方面,一来就直接怼 MVVM,MVC,没有准备这方面,还好其他问题大部分答上了,扳回一城吧

五、整体感受

字节跳动无论是前端、后端、移动端都难度都还是在线的,而且每次面试的注重点是明确的,层次是清晰的,难度是把控好的。整个过程中面试官也很给力,看得出来是提前看了简历的,根据之前的面试准备好了问题的。面试完后,会有专门的面试考评团对面试者进行考评,如果有没有考察到的点可能会加一面,这我是第一次听说,不过仔细想想这样没毛病,也体现了这个公司对面试者的重视。总的来说,面试层面上,字节跳动做的相当好

网易面经

网易我是没有笔试,某部门直接打电话说面试的,说是补招

一、一面,视频面,70 分钟

一面也是个小姐姐,一本正经的

1、mobx、redux 区别

2、react diff 算法

关键词:节点查找,同级比较

3、react 事件机制

关键词:事件代理,冒泡

4、原生事件哪些不冒泡,react 如何处理

5、react-redux 原理

关键词:context,provider,带上 dispatch

6、父组件 C 有两个子组件 A、B,B 有 C 传来的 props。问如果 C 传递给 B 的 props 改变了,A 会怎样的处理,执行哪些钩子

7、讲下 router

关键词:链接和视图同步

8、react 15 16 有哪些钩子不同

9、http 缓存

10、前端安全有了解吗

关键词:xss,csrf

个人感受:网易一面难度整体略微比字节跳动二面低点(就我遇到的而言),感觉网易挺狠的呀,一面都这么难,以为要凉

二、二面,现场面,50 分钟

两天后 hr 打电话说一面过了,邀我去北京现场面,小激动

1、讲讲你用 three.js 做的这个项目

2、3D 的立体图如何实现

关键词:正方体形,球形

3、react 生命周期

4、componentWillMount 和 componentDidMount 的区别

关键词:真实 dom

5、react 学习中遇到的难点

6、H5 项目如何适配

关键词:vw,rem,fastclick...

7、node 中间件机制

关键词:请求截获,挂上属性

8、generator, yield。附加题:co 模块如何实现

关键词:线程让权,状态机

9、xss 及防御

关键词:储存型、反射型、dom 型

个人感受:现场面等了好久,以为自己走错房间了,我想如果面试官不稍微解释下为啥迟到我就直接不面了。面试官也没有提前准备,拿着简历看了一分多钟才开始

三、三面,现场面,30 分钟

由于二面直接过了,二面的面试内容还没有上传上去(因为是现场),三面的面试官同样也没有准备,像是 hr 临时拉上去的,看了简历一分钟才开始。面试过程中还不停用手机催促赶紧发来一、二面内容。所以也没问些啥

1、mobx、redux 区别

2、H5 项目都干了些啥

3、做的项目流程是怎样的

4、如何规划一个项目功能

5、印象深刻的 eslint 规则

6、react 15 16 的区别

关键词:钩子,移除模块,createProtal...

个人感受:现场面有点失望,我一直是网易的死忠粉,或许是期望越大失望越大。不过我看网易的现场面确实准备的不充分,等了很久的人不止我一个,甚至还有人来到现场都给安排的视频面,可能是面试官太忙吧,或者出差啥的

四、整体感受

网易整体面试难度还是有的,就是现场面处理的不是很好。作为死忠粉的我还是要说一句,可能确实是因为面试官太忙了,三面的面试官说面了我马上就急着有事去做。另外在现场等待时,网易的小哥哥小姐姐们也很养眼,颜值在线。嗯,就扳回到这吧

美团面经

由于美团是去年秋招拿的 offer,当时觉得自己还是很菜就没发了,能想到多少是多少吧

1、讲讲 promise

关键词:promise A+

2、防抖和节流

3、flex 布局

关键词:justify-content, align-items, basic, shrink, grow

4、xhr,fetch,axios 的区别

5、用 promise 实现一个请求超时功能

关键词:promise.then 与 setTimeout 并行

6、three.js 如何创建一个 mesh

7、讲讲你了解的 three.js 原理

8、哪些常用排序算法,大概如何实现

小技巧

当面试官问,有什么问题问我时,这两个问题我通常是必问的

1、如果我很有幸来到了 XX 公司,作为实习生 / 应届生的我,公司会有怎样的安排

像面试官表现你心中的渴求和对这个公司的喜爱,顺便听下公司业务线自己喜不喜欢

2、对于刚刚的面试,面试官觉得我有哪些地方不足,或者说可以改进的地方

注意!不是让你问 “面试官呀,你觉得我面的怎么样啊,能过不啊”。而是询问就他的工作经验而言,作为一个实习生,自己哪些地方不足,有待加强的地方,无关乎面试结果。但是通过面试官的回答你还是可以大致判断出你给他留下的印象,以及通过的可能性
例如:
字节跳动二面面试官回答的:嗯,你基础还是可以,代码弱了点。
有些面试官会答的很全面,有些则是一句带过。从这里话里是能看出,我是有一定过的可能性
字节跳动三面面试官:你看的东西确实很多,但还是要注重实践。
可以看出还是有过的可能性

最后

1、欢迎关注个人 github:https://github.com/lawler61/blog,在那上面会实时更新。近期也会抽时间把题目的解答放上去。欢迎大家来一起讨论,共同进步

2、去年的今天我一样也是愣头青,硬着头皮上战场,然后落得惨败。不过自己还是拼命努力,狂怼基础,硬看源码,每天练习,最后斩获 offer。极少人会在意你的出身(可能你自己算一个),双非依然可以进大厂,只要你足够优秀,能面的面试官闭嘴(指当前阶段的问题中,没有什么能难倒你),那么你就可以反过来选择大厂

3、加油吧少年!你能行的!

与作者交流:https://www.nowcoder.com/discuss/163165

更多笔经面经:https://www.nowcoder.com/discuss?order=0&type=2

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/502391.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

vscode编辑python_VSCode+Python开发环境

准备开始转向用VSCode做开发,所以把一些常用的开发环境转移到VSCode上。 这次搭建的是Python3的开发环境。 其他相关博文: 一、测试环境 Windows 10 VSCode v1.11.1 Python v3.6.1 二、安装Visual Studio Code 三、安装Python这一步,记得…

多帧点云数据拼接合并_PCL点云处理实践(二):点云的处理和拼接

滤除背景我们获得的点云可能包含一部分背景的点云。要去除背景&#xff0c;只保留人体信息&#xff0c;最简单的方式是使用直通滤波器滤除较远点。这部分代码如下&#xff1a;123456pcl::PassThrough<:pointxyz>pass; //设置滤波器对象pass.setInputCloud(cloud); //设置…

html5 css3浏览器,五大主流浏览器CSS3和HTML5兼容性大比拼

五大主流浏览器CSS3和HTML5兼容性大比拼出处&#xff1a;快科技 2011-05-26 16:15:42 编辑&#xff1a;萧萧[爆料] 收藏文章各大主流浏览器对CSS3和HTML5的支持越来越完善&#xff0c;曾经让多少前端开发人员心碎的IE系也开始拥抱标准。就在前几天&#xff0c;W3C的HTML5社…

自学python 编程基础知识_python学习-基础知识-1

1、计算机历史 计算机使用高低电压的两种状态来描述信息。计算机可以理解的只有二进制数据即010100011....&#xff0c;1个比特位可以表示的状态只有2种&#xff0c;n个比特位可以表示的状态有2的n次方种。 所以如果想要描述天气状态&#xff1a;天晴、下雨、刮风、下雪、霜冻&…

comparator 字符串比较大小_Java中Comparable和Comparator实现对象比较

当需要排序的集合或数组不是单纯的数字型时&#xff0c;通常可以使用Comparator或Comparable&#xff0c;以简单的方式实现对象排序或自定义排序。A comparison function, which imposes a total ordering on some collection of objects. Comparators can be passed to a sort…

html中属性的作用,html的标签中 unselectable=on 属性的作用

在IE浏览器中&#xff0c;当input获得焦点时&#xff0c;点击有unselectable"on"属性的标签时&#xff0c;不会触发onblur事件。加上该属性的元素不能被选中。< !DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">< html>< h…

一个控制器怎么转发到另外一个控制器_楼宇自动化系统(BAS),DDC,一个最核心的控制器...

楼宇自动化系统(BAS)&#xff0c;一个熟悉又陌生的系统楼宇自控系统(BAS系统)设有一个中央监控中心&#xff0c;系统配置一个或多个网络控制器&#xff0c;由多条总线或计算机网络将各种功能的控制器与中央工作站相连&#xff0c;完成对空调、给排水、通风、电梯等子系统的监控…

秒表计时器怎么读_秒表怎么读数

展开全部秒表的大圈为秒&#xff0c;小圈为分。若大圈是30分格(顶上写的是30&#xff0c;可能有60格&#xff0c;表明精度到半秒)&#xff0c;小圈里62616964757a686964616fe59b9ee7ad9431333431366239一分钟就分为两小格&#xff0c;读完整的几分&#xff0c;若过了一小格&…

html封装windows,windows 系统封装,打造一份属于自己的系统!

在电脑的使用过程中&#xff0c;由于我们每个人的使用习惯和使用方式不同&#xff0c;所以我们都会对Windows系统进行自己的设置&#xff0c;尤其是一些搞数码软件的&#xff0c;如果不小心系统坏了&#xff0c;重装系统后&#xff0c;还得一一去进行重新设置&#xff0c;非常麻…

daoi php_聊聊这些年用过的AOI

外面下着雨&#xff0c;我在家里宅&#xff0c;听着歌喝着去年的茶&#xff0c;无聊的很&#xff0c;开个话题聊下这些年用过的AOI。某年进入AOI这行&#xff0c;我的很多老同事都早已转行了&#xff0c;由于我没什么过人之处&#xff0c;只会死干&#xff0c; 现在还在做AOI。…

python语言例子_【Python】SimPy的使用示例-Go语言中文社区

使用SimPY进行离散事件仿真 SimPY是一个Python下的第三方库&#xff0c;可以方便的进行离散事件的仿真。仿真速度比较快。下面记录一下我的一点心得&#xff0c;不保证完全正确&#xff0c;供参考。 安装 $ pip install -U simpy pycharm可以再File | Settings | Project: Simu…

所有的图放到一个html,拖放是HTML5标准的组成部分,若想要把drag1图片放入d

dataTransfer 对象主要有两个方法&#xff1a;getData() 和 setData()&#xff0c;用来取值和保存值。setData() 方法的第一个参数&#xff0c;也是 getData() 方法唯一的一个参数&#xff0c;是一个字符串&#xff0c;表示保存的数据类型。IE只定义了"text" 或 &quo…

vue变量传值_VUE 学习——父组件传值给子组件

在我们编写前端代码时&#xff0c;经常遇到的一种场景&#xff0c;子组件需要使用父组件的值&#xff0c;这种情况下&#xff0c;我们可以使用props帮助我们进行父子组件间的通信。这里我们先模拟一个场景&#xff0c;展示如何使用。场景&#xff1a;在父组件修改值&#xff0c…

matlab 最小二乘法拟合_Scripy实现最小二乘法与股票K线回归

python的Scripy提供了丰富的数学工具&#xff0c;python的科学计算包scipy的里面提供了一个函数&#xff0c;可以求出任意的想要拟合的函数的参数。那就是scipy.optimize包里面的leastsq函数。函数原型是&#xff1a;leastsq(func, x0, args(), DfunNone, full_output0, col_de…

html 调高德地图 导航,在H5页面内通过地址调起高德地图实现导航

项目中用到的一个功能是要通过点击地址来实现打开地图app实现地址导航。如下图&#xff1a;实现思路就是在H5页面内通过点击marker图标然后进行当前位置与页面上地址的路程规划与导航。由于项目中用到的是高德地图&#xff0c;所以这里用到的是调起高德地图APP来实现该功能。首…

.jar文件如何打开_ofd发票文件如何打开

有时候大家查找文件的时候会不会觉得很心烦&#xff0c;因为经常能碰到OFD格式的文件&#xff0c;但是我们却不知道怎么打开&#xff0c;造成了很多困扰。我以前也常常遇到这样的情况&#xff0c;但是最近我发现了一个好办法&#xff0c;迫不及待地想分享给大家了&#xff0c;可…

印刷体是什么意思_家长晒出4年级小学霸课前笔记,字迹堪比“印刷体”,老师都羡慕...

目前&#xff0c;很多小学生都在家里上网课&#xff0c;为了达到最佳学习效果&#xff0c;要提前做好预习工作&#xff0c;尤其是语文这一学科&#xff0c;更需要预习。这不就有一位4年级学霸的家长晒出了孩子日常课前预习笔记。他不仅对文章进行了合理的布置和预习&#xff0c…

不使用自带函数求区域的周长_Excel表格中最强大求和函数______DSUM函数

在Excel表格中说起求和函数&#xff0c;朋友们首先会想到的是sum、sumif、和sumifs函数。这篇文章为朋友们分享最强大求和函数&#xff0c;数据库函数之DSUM函数。这个函数不仅能完成各种要求的求和&#xff0c;还可以用于查找。一.DSUM函数说明&#xff1a;1.语法&#xff1a;…

python 用if判断一个数是不是整数_Python基础教程07-函数和模块的使用

在讲解本章节的内容之前&#xff0c;我们先来研究一道数学题&#xff0c;请说出下面的方程有多少组正整数解。x1x2x3x48事实上&#xff0c;上面的问题等同于将8个苹果分成四组每组至少一个苹果有多少种方案。想到这一点问题的答案就呼之欲出了。可以用Python的程序来计算出这个…

计算机科学美国大学专业,2018美国大学计算机科学专业大排名

麻省理工大学麻省理工学院素以世界顶尖的工程学和计算机科学而享誉世界&#xff0c;虽然不是藤校&#xff0c;却是拥有着领先世界一流的计算机科学及人工智能实验室。麻省理工学院大学计算机硕士专业毕业生可从事集成电路应用与系统设计&#xff0c;从事信息技术与计算机应用系…