前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >互联网大厂秋招前端面试题(快收藏!)

互联网大厂秋招前端面试题(快收藏!)

作者头像
努力的Greatiga
发布于 2022-07-25 02:19:41
发布于 2022-07-25 02:19:41
74500
代码可运行
举报
运行总次数:0
代码可运行

前言

目前已经毕业,在去年2020秋招的摸爬滚打中,侥幸收获了几个小offer。最后也很幸运去腾讯实习了一段时间。所以想着把自己经历的大厂前端面试题整理出来,留给需要找实习工作的童鞋们一个参考。

大厂前端秋招面经

包括腾讯区域研发、字节跳动、腾讯日常实习、小米的前端面经

(一)腾讯区域研发前端

一面

  • 自我介绍
  • 介绍一下你最难的项目
  • 谈谈对 vue 和 react 的理解,以及他们的区别
  • vue 常用指令说一下
  • 父子组件传值?多个组件共享状态?有什么更好的处理方法?(vuex或者其他状态管理解决方案)
  • vue-router 用过吗?说一下它常见的钩子函数
  • vue路由的 hash 和 history 模式?
  • vue 自定义指令
  • vue 双向绑定原理
  • vue 虚拟DOM 的 Diff 算法
  • 浏览器事件循环机制
  • node 事件循环机制呢?
  • nextTick() 是什么任务?(宏任务or微任务?)
  • 用 node.js 做过什么东西?
  • websocket 怎么做的聊天服务器
  • HTTP 和 WebSocket
  • TCP 三次握手和四次挥手
  • 常见的网络攻击?(说了 xss, xsrf, sql注入)
  • 反问

二面

  • 结合自身学习介绍项目
  • 我有说到发布 npm 包,封装组件,总结反思优化什么的,所以大部分问题都围绕我的介绍来问
  • npm 包开发测试到上传的流程
  • 用 node 做了一个小的聊天服务器
  • 如何看待 Vue 和 React 这些框架带来的好处?
  • 模块开发的好处?
  • 你觉得 element-ui 的哪些组件封装的较好?
  • 如果让你封装自己的组件应该怎么做?
  • 面对新的框架和技术你怎么学习?
  • 你怎么规划未来的前端学习?

三面HR面

  • 自我介绍
  • 为什么打算来这?
  • 你的期望薪资?
  • 你在学校做了哪些对自己有意义的事?
  • 面试官让等待后续,通过的话会打电话或发邮件通知接下来的进展

总结

总结下来感觉问题都是交叉的,基础、框架、网络安全、项目都有。二面的时候让自我介绍加项 目介绍,后面问题都是围绕你的回答展开。HR面正常回答就好,表现出你想去公司工作的愿望

(二)字节跳动前端

一面(1h)

  • 自我介绍
  • Flex布局,实现两个子元素垂直,并且一个靠右一个靠左
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 <div class="parent">
    <div class="left"></div>
    <div class="right"></div>
 </div>
  • css代码
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
.parent {
   display: flex;
   align-items: center;
   justify-content: space-between;
   height: 400px;
   border: 1px black solid;
}
.left {
   width: 100px;
   height: 150px;
   border: 1px red solid;
}
.right {
   width: 100px;
   height: 150px;
   border: 1px green solid;
}
  • JS基本数据类型
  • 闭包
  • 你说到了作用域链,那么你来谈一下作用域?
  • 说到了执行上下文,所以又问了执行上下文
  • 继续深入问到变量提升、词法作用域、动态作用域
  • 看一点相关的题目吧
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
console.log(foo);
function foo(){
    console.log("foo");
}
var foo = 1;

输出
//ƒ foo(){
//    console.log("foo");
//}
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
var value = 'tom';
function foo() {
    console.log(value)
}
function bar() {
    var value = 'bob';
    foo();
}
bar();

输出
//tom
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
function foo() {
    return function() {
        console.log(this)
    }
}
foo()(); 

输出
//window

var foo = {
    bar: function () {
        return this;
    }
}
foo.bar(); 

输出
//{bar: f}
  • http的请求方法
  • http常见状态码
  • TCP 和 UDP区别
  • 为什么浏览器的请求有两次,一次options,第二次才是真正请求?哪些场景用到
  • 模拟一个队列
  • 数组扁平化?至少两种方法实现
  • 反问

二面(1h)

  • 问了项目中的D3.js
  • 前端展示统计图或者一些复杂的图片是用图片好还是svg生成,这两种方式的优缺点,以及如何做取舍
  • 最近出了 Vue 3.0,有了解过它与 Vue 2.0 的区别吗?
  • Vue 3.0 的 Composition API 有了解吗?
  • Css画圆有哪些方式?
  • 如何知道某个dom元素是否在当前可视窗口呢?
  • scrollTop如何获取?
  • Css的position的常见属性,sticky用过吗?
  • Promise说一下
  • Promise.all用过吗,自己用promise封装一个Promise.all?要求每一个promise能并行执行,并且要保证最后的回调参数顺序与执行顺序一致(解释:每个 promise 封装的请求不一定会按照调用顺序得到响应,可能后面调用的比前面的要快,但一样要保证最后的顺序是按照调用顺序的)
  • 写一个题吧
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
const obj = {a: {b : {c : {d: 3}}}}

function getValue(obj, str, defaultValue) {}

getValue(obj, 'a.b.c.d', 1) => 3 (存在该属性返回该属性对应的值)

getValue(obj, 'a.b.c.d.e', 1) => 1 (出现错误返回传入的默认值)

改动,能处理数组

const obj_1 = {a: {b : {c : {d: [{e : 4}]}}}}

getValue(obj_1, 'a.b.c.d[0].e', 1) => 4
  • 改动前的代码实现(不一定对,望大家给个建议)
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
function getRightValue(obj, propertyString, defaultValue) {
  let str = propertyString.split('.');
  for(let i = 0; i < str.length; i++) {
      if(obj.hasOwnProperty(str[i])) {
          obj = obj[str[i]];
      } else {
          return defaultValue;
      }
  }
  return obj;
}

const obj = { a: {b: {c: { d: 3 }}}}

console.log(getRightValue(obj, 'a.b.c.d', 1))
  • 改动后加上了数组,所以细节要处理好,我当时卡壳了没弄出来
  • 反问

三面(35min)

  • 前两次的面试感觉怎么样?
  • 通过之前的面试觉得自己还有哪些问题?
  • 说一下你认为做得好的一个项目,遇到了些什么问题?
  • 说了一个项目,然后接下来大部分时间都是围绕这个项目交流
  • 问了自己更偏向于实习还是正式,然后自己回答:优先考虑正式 offer,如果达不到正式批要求,给一个实习 offer 也可以??哈哈哈我太天真了,,,
  • 反问了具体的业务,还有自己有待提高的地方

总结

因为自己没有实习经历,项目都是自己写的,一下子想不出什么难点,只是简单聊了一些功能实现。所以建议大家以后聊项目时,有好的实习经历,就说一下实习的项目,没有实习只有自己项目的,也要往自己项目里面添加一些亮点(难点)。面试之前也要梳理好自己的项目,不然面试一下想不起来细节就尴尬了,别像我一样,,,呜,,,

(三)腾讯日常实习

一面(43min)

  • 介绍一下自己的项目
  • http 状态码
  • TCP 和 UDP
  • get 和 post 区别?
  • 浏览器如何渲染
  • 进程和线程的区别
  • 场景题,5种颜色的球,每种颜色球有无数个,每人每次拿两个球,问至少多少人拿,才能保证至少有两个人拿的球一模一样。
  • 编程题:找出一组数中两两相加为零的所有组合
  • 说一说快排
  • 后端能写些什么

二面(15min)

  • 项目中的难点
  • 聊了一个项目中的部分功能实现
  • 有合作开发的团队项目吗
  • 如何调试数据的
  • 高数学过吗???
  • 线性代数学过吗?说一说用矩阵的知识解方程
  • 概率论在it中的应用
  • 什么时候能来实习?实习多久?

总结

这个日常实习很迷,而且一开始面试就明确说了实习后面不会留。考察比较偏算法和逻辑思维

(四)小米前端

一面(30min)

  • 自我介绍
  • 统计字符串字符出现个数
  • 原型链说一下
  • 原型继承写一下
  • vue怎么通信的
  • 用类写一个发布订阅者模式
  • Css 垂直居中
  • vue组件的 data 为什么是一个函数
  • http 与 https 区别
  • http 304 ?
  • 说一说你的优势
  • 说一说自己未来三年规划
  • 反问

二面(20min)

  • 学习方式?
  • 项目中的难点
  • 统计页面标签个数?
  • 聊了一些经历,对事情的看法
  • 给面试官看了自己的学习笔记
  • 自己的优缺点
  • 反问,
  • 因为没有实习经历,问了公司项目的大体开发流程。面试官小哥哥很有耐心的概括了一遍。非常感谢!
  • 问了自己不足的地方

总结

小米前端的面试整体上来说是比较偏基础的,面试官人也很好。算法题需要掌握一些基础的

后续

希望这些大厂面经能对你有所帮助,虽说是2020年的秋招,但是万变不离其宗,我想2021年秋招考察的依然是这些 --> 扎实基础 + 基本必须掌握的算法 + 知识的广度与深度。

学弟学妹以及万千互联网求职者们,加油!

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
详解分布式事务之 Seata-Client 原理及流程
在分布式系统中,分布式事务是一个必须要解决的问题,目前使用较多的是最终一致性方案。自年初阿里开源了Fescar(四月初更名为Seata)后,该项目受到了极大的关注,目前已接近 8000 Star。Seata 以高性能和零侵入的特性为目标解决微服务领域的分布式事务难题,目前正处于快速迭代中,近期小目标是生产可用的 Mysql 版本。
程序猿DD
2019/05/10
2.2K0
详解分布式事务之 Seata-Client 原理及流程
Seata 源码篇之AT模式启动流程 - 下 - 04
上一篇文章,我们看了Seata AT模式一阶段提交流程,本文我们来看看AT模式的二阶段流程和全局事务提交回滚逻辑的实现。
大忽悠爱学习
2023/10/11
3070
Seata 源码篇之AT模式启动流程 - 下 - 04
分布式事务之Seata中间件原理及流程详细分析
原文链接:https://blog.csdn.net/f4761/article/details/89077400
天涯泪小武
2019/10/22
2.2K0
分布式事务之Seata中间件原理及流程详细分析
深度剖析一站式分布式事务方案Seata-Cient
在之前的文章中已经介绍过Seata的总体介绍,如何使用以及Seata-Server的原理分析,有兴趣的可以阅读下面的文章:
用户5397975
2019/10/14
8080
深度剖析一站式分布式事务方案Seata-Cient
seata TC 请求处理流程
TC的业务channelHandler为类 io.seata.core.rpc.netty.AbstractNettyRemotingServer.ServerHandler,注意到达该类的请求都是经过编解码的了,请求类型为RpcMessage。ServerHandler类处理方法有:
luoxn28
2021/01/28
8960
seata TC 请求处理流程
Seata分布式事务之TM、RM、TC源码分析
笔者通过绘制时序图,我们可以清晰的知道在集成Seata、ShardingSphere、Dubbo之后,我们插入一条数据的整个内部调用链逻辑
spilledyear
2022/05/13
2.4K0
Seata分布式事务之TM、RM、TC源码分析
seata TM源码分析
下面就一起来看下TM模块的实现原理,TM模块是seata中全局事务发起者和掌控者,其核心逻辑有:业务逻辑切面代理:对全局事务注册/提交操作。启动netty客户端:会启动TM/RM客户端与TC通信。数据源切面代理:SQL解析、分支事务注册/提交、undolog保存、分支事务状态上报。Rpc代理:在RPC流程中传递seata上下文(xid等,非本文分析重点)。
luoxn28
2021/01/28
1.2K0
seata TM源码分析
分布式事务中间件 Fescar - RM 模块源码解读
在SOA、微服务架构流行的年代,许多复杂业务上需要支持多资源占用场景,而在分布式系统中因为某个资源不足而导致其它资源占用回滚的系统设计一直是个难点。我所在的团队也遇到了这个问题,为解决这个问题上,团队采用的是阿里开源的分布式中间件Fescar的解决方案,并详细了解了Fescar内部的工作原理,解决在使用Fescar中间件过程中的一些疑虑的地方,也为后续团队在继续使用该中间件奠定了理论基础。
张乘辉
2019/07/10
6260
分布式事务:Seata框架AT模式及TCC模式执行流程剖析
管理分支事务处理的资源,与TC交谈以注册分支事务和报告分支事务的状态,并驱动分支事务提交或回滚,在分支事务执行的客户端。
朝雨忆轻尘
2020/11/24
2K0
分布式事务:Seata框架AT模式及TCC模式执行流程剖析
seata TC启动流程分析
seata-server 启动方法 io.seata.server.Server#main,默认启动端口 SERVER_DEFAULT_PORT = 8091。main方法主要是解析并设置一些配置,初始化几个线程池,启动DefaultCoordinator和Netty服务等,源码如下:
luoxn28
2021/01/28
8180
seata TC启动流程分析
深度剖析 Seata TCC 模式【图解 + 源码分析】
Seata 目前支持 AT 模式、XA 模式、TCC 模式和 SAGA 模式,之前文章更多谈及的是非侵入式的 AT 模式,今天带大家认识一下同样是二阶段提交的 TCC 模式。
张乘辉
2022/01/24
2.6K0
深度剖析 Seata TCC 模式【图解 + 源码分析】
fescar分布式事务实现原理解析探秘
fescar发布已有时日,分布式事务一直是业界备受关注的领域,fescar发布一个月左右便受到了近5000个star足以说明其热度。当然,在fescar出来之前,已经有比较成熟的分布式事务的解决方案开源了,比较典型的方案如LCN(https://github.com/codingapi/tx-lcn)的2pc型无侵入事务,目前lcn已发展到5.0,已支持和fescar事务模型类似的TCX型事务。还有如TCC型事务实现hmily(https://github.com/yu199195/hmily)、tcc-transaction(https://github.com/changmingxie/tcc-transaction)等。在微服务架构流行的当下、阿里这种开源大户背景下,fescar的发布无疑又掀起了研究分布式事务的热潮。fescar脱胎于阿里云商业分布式事务服务GTS,在线上环境提供这种公共服务其模式肯定经受了非常严苛的考验。其分布式事务模型TXC又仿于传统事务模型XA方案,主要区别在于资源管理器的定位一个在应用层一个在数据库层。博主觉得fescar的txc模型实现非常有研究的价值,所以今天我们来好好翻一翻fescar项目的代码。本文篇幅较长,浏览并理解本文大概耗时30~60分钟左右。
kl博主
2023/11/18
1860
Seata AT 模式启动源码分析
从上一篇文章「分布式事务中间件Seata的设计原理」讲了下 Seata AT 模式的一些设计原理,从中也知道了 AT 模式的三个角色(RM、TM、TC),接下来我会更新 Seata 源码分析系列文章。今天就来分析 Seata AT 模式在启动的时候都做了哪些操作。
张乘辉
2019/12/02
6220
Apache ShardingSphere sharding-jdbc 分布式事务小练习
[技术标准] https://pubs.opengroup.org/onlinepubs/009680699/toc.pdf
前Thoughtworks-杨焱
2021/12/07
7990
Seata-Saga模式 原理
状态机设计组件:seata-saga-statemachine-designer 状态机在线画图工具:saga_designer
全栈程序员站长
2022/11/04
6380
Seata-Saga模式 原理
springcloud+eureka整合seata-tcc模式
分布式事务中的tcc模式理论介绍的文章非常多,但是网上找到一个代码实现的demo很难,包括阿里的seata官方示例都没有TCC模式的具体实现。今天我们来看一下微服务环境下使用seata TCC模式解决分布式事务的场景,同时提供一个详细的实现。
jinjunzhu
2020/08/28
1.8K0
springcloud+eureka整合seata-tcc模式
深入了解分布式事务组件 Seata :AT 模式(二)
在前面一篇文章,我们介绍了阿里开源的分布式事务组件 Seata 的相关概念,重点介绍了 Seata 的 AT 模式。并通过一个 Spring-Cloud-JPA 的案例,演示了 AT 模式的使用入门。本文将会结合 Spring-Cloud-JPA 的案例,深入了解 Seata AT 模式的工作流程。本文基于 v0.8.1。
aoho求索
2019/12/15
1.5K0
[图文] Seata AT 模式分布式事务源码分析
AT 模式是 Seata 主推的分布式事务解决方案,最早来源于阿里中间件团队发布的 TXC服务,后来成功上云改名 GTS。相较于TCC而言,Seata的AT模式业务侵入性更低,易于接入。
田守枝
2019/07/11
2.5K0
[图文] Seata AT 模式分布式事务源码分析
seata TC 模块分析
Discovery模块就是服务发现模块,TC启动后需要将自己的信息注册到服务中心,这样才能暴露给其他使用者,Discovery接口定义如下:
luoxn28
2021/01/28
1.3K0
seata TC 模块分析
mac 上学习k8s系列(53)seata-go
https://github.com/seata/seata-go是https://github.com/seata/seata的golang客户端,目前支持at和tcc两种分布式事务的实现。虽然官方的文档给的例子描述了如何处理分布式事务,但是如何部署和使用语焉不详。下面介绍下两种部署方式file、db
golangLeetcode
2022/12/17
6730
相关推荐
详解分布式事务之 Seata-Client 原理及流程
更多 >
LV.0
有赞Java开发工程师
目录
  • 前言
  • 大厂前端秋招面经
  • (一)腾讯区域研发前端
    • 一面
    • 二面
    • 三面HR面
    • 总结
  • (二)字节跳动前端
    • 一面(1h)
    • 二面(1h)
    • 三面(35min)
    • 总结
  • (三)腾讯日常实习
    • 一面(43min)
    • 二面(15min)
    • 总结
  • (四)小米前端
    • 一面(30min)
    • 二面(20min)
    • 总结
  • 后续
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档