前端14个大厂1周面试题,跳槽稳稳地

本文记录了作者参加多家知名互联网公司前端岗位面试的经历,详细分享了面试题目与个人感受,涵盖CSS、JavaScript、Vue等前端技术及算法题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

小米-小米应用商店(过)

 

一面

 

小米的面试官给人的感觉很亲切很真诚,是一个体验很不错的面试。

 

 

  • css 实现图片自适应宽高

  • 讲 flex,手写出 flex 常用的属性,并且讲出作用

  • BFC 是什么

  • 项目里面的前端鉴权是怎么实现的?

  • vue 里面的虚拟 dom 是怎么回事?

  • vue 双向绑定讲一讲

  • 手写函数防抖和函数节流

  • 讲讲常用的 es6 语法,比如 let、promise、class 等等

  • 浏览器渲染过程,回流重绘等等,load、DOMContentLoaded 等等事件的触发顺序

  • 从小米应用商店里面随便找了一个需求让我现场实现,写伪代码

     

二面

 

 

 

  • 讲项目里面的鉴权和图片懒加载怎么实现的

  • 讲 vue-lazyloader 的原理,手写伪代码

  • 讲 express 框架的设计思想

  • 线上日志是如何处理的

  • 讲事件循环

  • 讲 nodejs 的 eventEmitter 的实现

     

 

 

三面

 

 

  • 讲项目里面做的事情

  • 讲 vue 的响应式原理、依赖收集、监听数组、虚拟 dom 等等

  • 讲 express 的中间件系统是如何设计的

  • 现场从小米应用商店中找出一个需求现场实现,说思路,写关键的代码

  • 四面

  • 讲 vue-lazyloader 源码以及设计

  • 使用 es5 实现 es6 的 class

  • websocket 握手过程

  • 浏览器的事件循环和 nodejs 事件循环的区别

 

 

百思编程(过)

 

这个公司是猎头推荐的,CEO 比较强势,也算比较有趣。

 

一面

 

 

  • 跨域以及解决办法

  • 手写一段小算法

  • JavaScript 的 sort 方法内部使用的什么排序?

 

 

二面

 

这一面是 CEO 面,主要问了我的职业规划等等问题,在我没有表现出很强的要去该公司的意愿后,直接给我送走了…

 

ponyAI-基础架构(过)

 

一面

 

 

  • 讲项目里面干了啥

  • vue-lazyloader 怎么实现的

  • vue 的响应式系统、虚拟 dom

  • 函数式编程

  • 手写了一个算法题

     

     

 

 

二面

 

这轮面试时从美国打电话过来的,事后才知道是 Google 的前端…

 

 

  • 讲讲项目里面做了什么

  • vue 原理,和 react 的区别(其实我没怎么用过 react)

  • JavaScript 异步的处理方式,现场出了一个问题,使用 promise 实现

 

 

 

三面

 

 

  • 讲项目模块规划、项目如何部署、如何优化等等

  • 手写函数的防抖

  • 手写一道算法题

     

 

 

 

四面

 

 

  • 讲讲项目

  • 手写一道算法题

 

 

洋钱罐(过)

 

一面

 

 

  • 讲项目

  • 前端持久化的方式、区别

  • vue-lazyloader 的原理

  • 怎么配 webpack

  • 手写 vue 双向绑定

  • 讲 es6 的一些特性,并且现场出了几个代码片段,说结果

  • 手写一道算法题

  • http 状态码

 

 

二面

 

 

  • 讲项目

  • vue-router 的原理

  • 项目中怎么用的 webpack,怎么优化

  • 讲 express 的设计原理

  • 手写一道算法题

 

 

创新奇智(过)

 

一面

 

 

  • 讲项目

  • 手动实现 parseInt

 

 

二面

 

这一面居然遇到了前同事…写了一些笔试题,问了一些问题!

 

三面

 

 

  • 讲 tcp/ip 网络层、三次握手,为什么不能两次握手

  • 讲 vue 原理

  • 手写一道算法题

 

 

猿辅导(跪)

 

猿辅导好像总共就一面,期间一些实现方式和面试官有争议(没有冲突)。

 

一面

 

 

  • 手写 vue 的 mixin 方法

  • 手写 promise 的 all 方法

  • 现场出了一个移动端的小需求

 

 

搜狐-垂直媒体部门(过)

 

一面

 

 

  • 讲项目

  • 项目里面用 nodejs 做了啥

  • 抽取了哪些 vue 组件

     

 

 

二面

 

 

  • 讲项目

  • 手写实现 promise

  • 腾讯-地图(跪)

  • 腾讯两个部门面试都会先做一套笔试题,笔试题基本就是一些常见的前端问题以及算法题

     

 

 

三面

 

 

  • 讲项目,对项目提了一些问题

  • 怎么判断一个点是否在圆形内、正方形内

  • 对笔试题

 

 

腾讯-天天快报(跪)

 

也是先做了一套笔试题,但是令人尴尬的是,面试官觉得我快排写错了,然而我只是在原地快排没有申请额外空间…

 

 

  • 笔试题

  • 没了

 

 

百度-百度云(过)

 

这个部门今年据说升为一级部门了,好像还挺不错的~

 

一面

 

 

  • 讲项目

  • vue 响应式原理,什么是 mvvm

  • es6 使用过的特性

  • flex 常见的属性

  • css 选择器的优先级

  • 抽取过哪些 vue 组件

     

 

 

二面

 

 

  • 讲项目

  • express 设计原理,面试官对动态路由匹配一直追问下去,但是这里的源码设计我确实是忘了,一路讨论下去扯到了字符串的前缀树…

  • 实现一个事件发布订阅类,其实就是 eventEmitter

     

 

 

三面

 

三面是山大老学长,聊了一些业务上的事情~

 

 

搜狗-手机搜狗(过)

 

搜狗一面的体验比较差,面试官给人的感觉不太好…

 

一面

 

 

  • 讲项目

  • 事件循环

  • 回调函数的坏处

  • vue 里面哪儿不会用到双向绑定

     

 

 

二面

 

忘了…

 

快手-商业化(过)

 

一面

 

 

  • 讲项目

  • 如何抽取公共组件的

  • vue 的响应式原理

  • 如何实现一个可设置过期时间的 localStorage

  • 实现一个发布订阅系统,包括 on、emit、off 等等

     

 

 

二面

 

 

  • 一道智力题

  • 软件工程思想、设计模式等等

  • async/await 代码片段,说输出结果

 

 

今日头条-广告系统(过)

 

一面

 

 

  • 讲项目

  • 讲 lazyloader 实现

  • 用 docker 做了什么

  • 用 webpack 做了什么

  • 手写一个算法题

  • 讲 flex

  • vue 响应式原理

  • es6

 

 

二面

 

 

  • JavaScript 异步

  • 优化项目

  • vue 原理,包括计算属性、依赖收集等等

  • 用 JavaScript 的异步实现 sleep 函数

  • 算法题

 

 

三面

 

 

  • 手写快排,时间复杂度,优化

  • 手写实现 jsonp

  • 项目部署,线上问题等等

  • websocket 握手过程

 

 

四面

 

 

  • 对 vuex 的理解,单向数据流

  • 设计一个单点登录的系统,类似阿里系那种

  • 手写一个算法

 

 

五面

 

 

  • 实现一个联想搜索组件

  • 手写函数防抖和节流

 

 

OPPO 成都研发中心(过)

 

一面

 

 

  • 讲项目

  • 讲 vue 的 响应式系统,讲了好久,从渲染 watcher 到虚拟 dom,面试官还跟我讨论了好久

  • 忘了

     

 

 

二面

 

 

  • 讲项目

  • 忘了

 

 

 

百词斩(跪)

 

首先会在线做一道算法题,挺简单的,百词斩感觉挂的稀里糊涂的…

 

一面

 

 

  • websocket 握手过程

  • tcp/ip 网络层,http 的特点

  • http 强行使用 udp 能实现吗?

  • vue 原理

  • webpack 热更新原理,使用过的插件

  • 原型、闭包、跨域

  • 手写了一道算法题

 

 

 

为什么面这么多公司

 

因为我是实习直接转正的,也没参加过秋招,所以对自己在市场上是个怎样的实力没有一个清晰的了解,而且我也想多了解一下其他公司在做什么,于是就尽量的多面,不过说实话面试确实挺累的。

 

 

如何准备

 

首先前端基础要过关,掌握牢靠!

其次,因为我是在小厂,所以可能项目复杂度没那么高,我就尽量把手头上用到过的东西都搞明白设计原理,比如 vue、express、vue-lazyloader、promise 等等,平时也会造一些轮子,其实这些对业务开发都是有好处的,起码可以让你知道自己在写啥。 最后,计算机基础也是抛不开的,LeetCode 刷 200 题左右,常见的排序、搜索、树遍历算法都要会,而且以这几个为基础的变形也要能看出来。

 

还有就是面试的时候的一些技巧,因为我本身表达能力还行,面试基本不紧张,说说笑笑也就过去了,之前在公司也当过一年的面试官,这方面发怵的同学可以做一些相关的准备。

 

编辑:千锋web前端

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值