08 面试题3-没答案

08 面试题3-没答案

17. 听到你提到浏览器,你了解浏览器缓存的方式吗?

  1. 看你有用过Promise,知道Promise有几种状态?

  2. 你知道 pending状态可以停止吗?

  3. 那XMLHttpRequest 的 pending状态可以停止吗?

  4. 知道Promise和setTimeout的执行顺序吗?

  5. vue中生命周期中的钩子函数用过哪些?

  6. 为什么不把数据放在created函数中?

  7. 对Vue的数据双向绑定有了解吗?

  8. 了解重绘和回流吗?页面的加载顺序?

  9. 如何减少回流、重绘?怎样控制只有一部分回流?

  10. 了解什么算法?快排?

  11. 还了解什么排序算法?

  12. 了解二叉查找树吗?

  13. 有了解什么后端语言吗?知道面向对象的特性吗?

  14. 知道数据库连接池吗?

  15. 正则的题目,对比 /^[a-z0-9][a-z]+$//^[a-z0-9][a-z]*$/的区别?

  16. CSS3布局,移动端有用过rem吗?布局的话一般怎样布局?

  17. Flex布局和传统的其他布局有什么优点?

  18. Flex的居中方式有哪些?其他方式有哪些?(居中的方式,文字居中和块级节点居中)

  19. display设置inline-block的话,多个之间有间隔应该怎样处理? (父节点font-size: 0)

  20. 更熟悉那方面的技术栈?

  21. 对自己项目是怎样设计和选型的?

  22. 有用到vuex吗?

  23. 组件之间的通讯怎样做到?

  24. 有没有在npm上面做过开源的学习?

  25. 你有使用过闭包吗?

  26. 模块化的异步加载怎样做?

  27. window.onload执行时间?

9.图片加载完的时候会执行吗?

  1. 了解JS继承吗?

  2. 利用原型链的继承有什么缺点吗?

9、说一下原型和原型链

10、有没有自己写过比较复杂的正则?

11、有没有封装过 axios?

12、前后分离的系统,一个请求出错了,如何中断其它请求?

13、如何在 axios 中添加登陆验证?

14、rollup 了解过没?

15、为什么 rollup 打包赘余代码比较少?

7、new 一个对象后发生了什么?

  1. 讲项目
  2. 讲lazyloader实现
  3. 用docker做了什么
  4. 用webpack做了什么
  5. 讲flex
  6. vue响应式原理
  7. es6

  8. JavaScript异步

  9. 优化项目
  10. vue原理,包括计算属性、依赖收集等等
  11. 用JavaScript的异步实现sleep函数

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

  13. 手写实现jsonp
  14. 项目部署,线上问题等等
  15. websocket握手过程

  16. 对vuex的理解,单向数据流

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

  18. 实现一个联想搜索组件

  19. 手写函数防抖和节流

  20. css实现图片自适应宽高

  21. 讲flex,手写出flex常用的属性,并且讲出作用
  22. BFC是什么
  23. 项目里面的前端鉴权是怎么实现的?
  24. vue里面的虚拟dom是怎么回事?
  25. vue双向绑定讲一讲
  26. 手写函数防抖和函数节流
  27. 讲讲常用的es6语法,比如let、promise、class等等
  28. 浏览器渲染过程,回流重绘等等,load、DOMContentLoaded等等事件的触发顺序
  29. 从小米应用商店里面随便找了一个需求让我现场实现,写伪代码

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

  31. 讲vue-lazyloader的原理,手写伪代码
  32. 讲express框架的设计思想
  33. 线上日志是如何处理的
  34. 讲事件循环
  35. 讲nodejs的eventEmitter的实现

  36. 讲项目里面做的事情

  37. 讲vue的响应式原理、依赖收集、监听数组、虚拟dom等等
  38. 讲express的中间件系统是如何设计的
  39. 现场从小米应用商店中找出一个需求现场实现,说思路,写关键的代码

  40. 讲vue-lazyloader源码以及设计

  41. 使用es5实现es6的class
  42. websocket握手过程
  43. 浏览器的事件循环和nodejs事件循环的区别

百思编程(过)

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

一面

  1. 跨域以及解决办法
  2. 手写一段小算法
  3. JavaScript的sort方法内部使用的什么排序?

二面

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

ponyAI-基础架构(过)

一面

  1. 讲项目里面干了啥
  2. vue-lazyloader怎么实现的
  3. vue的响应式系统、虚拟dom
  4. 函数式编程
  5. 手写了一个算法题

二面

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

  1. 讲讲项目里面做了什么
  2. vue原理,和react的区别(其实我没怎么用过react)
  3. JavaScript异步的处理方式,现场出了一个问题,使用promise实现

三面

  1. 讲项目模块规划、项目如何部署、如何优化等等
  2. 手写函数的防抖
  3. 手写一道算法题

四面

  1. 讲讲项目
  2. 手写一道算法题

洋钱罐(过)

一面

  1. 讲项目
  2. 前端持久化的方式、区别
  3. vue-lazyloader的原理
  4. 怎么配webpack
  5. 手写vue双向绑定
  6. 讲es6的一些特性,并且现场出了几个代码片段,说结果
  7. 手写一道算法题
  8. http状态码

二面

  1. 讲项目
  2. vue-router的原理
  3. 项目中怎么用的webpack,怎么优化
  4. 讲express的设计原理
  5. 手写一道算法题

创新奇智(过)

一面

  1. 讲项目
  2. 手动实现parseInt

二面

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

三面

  1. 讲tcp/ip网络层、三次握手,为什么不能两次握手
  2. 讲vue原理
  3. 手写一道算法题

猿辅导(跪)

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

一面

  1. 手写vue的mixin方法
  2. 手写promise的all方法
  3. 现场出了一个移动端的小需求

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

一面

  1. 讲项目
  2. 项目里面用nodejs做了啥
  3. 抽取了哪些vue组件

二面

  1. 讲项目
  2. 手写实现promise

腾讯-地图(跪)

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

一面

  1. 讲项目,对项目提了一些问题
  2. 怎么判断一个点是否在圆形内、正方形内
  3. 对笔试题

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

  1. 对笔试题
  2. 没了

  3. 讲项目

  4. 事件循环
  5. 回调函数的坏处
  6. vue里面哪儿不会用到双向绑定

快手-商业化(过)

一面

  1. 讲项目
  2. 如何抽取公共组件的
  3. vue的响应式原理
  4. 如何实现一个可设置过期时间的localStorage
  5. 实现一个发布订阅系统,包括on、emit、off等等

二面

  1. 一道智力题
  2. 软件工程思想、设计模式等等
  3. async/await代码片段,说输出结果

OPPO成都研发中心(过)

一面

  1. 讲项目
  2. 讲vue的 响应式系统,讲了好久,从渲染watcher到虚拟dom,面试官还跟我讨论了好久
  3. 忘了

二面

  1. 讲项目
  2. 忘了

百词斩(跪)

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

一面

  1. websocket握手过程
  2. tcp/ip网络层,http的特点
  3. http强行使用udp能实现吗?
  4. vue原理
  5. webpack热更新原理,使用过的插件
  6. 原型、闭包、跨域
  7. 手写了一道算法题

如何准备

首先前端基础要过关,可以参考前端工程师手册合格前端系列第九弹-前端面试那些事2018前端面试押题(讲义)Interview Book

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

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

JD金融

京东毕竟是大厂,问的内容相对基础,但是覆盖面广,问的也比较细致,大家如果准备大厂面试的话最好准备充分一点,不然像我一样死的很惨

1.说下你做过的你比较熟悉的项目,中间他会给你指出其中的问题,你最好都记下来

2.说一下http协议(详细)、前后端联合开发流程,get和post的区别

3.说一下什么是cookie,有没有什么新的存储手段

4.说一下响应式布局和流式布局

5.说一下vue的生命周期,vue父子组件传值

6.说一下webpack的作用

7.如何获取手机屏幕的变化(横屏还是竖屏)

8.给你一个搜索框和一个导航栏,两个都不定宽,布局实现一下

字节跳动

字节跳动要求很高,问的内容多又深,毕竟一天400不是白给你的,主要问了4个方面的知识---------css,js,vue,算法。

1.一个div里面包含着另一个div,里面的div外边距是15%,问两个div的排列情况

2.body元素里面有一个div,求实现div元素水平和垂直都居中的方法(面试官要求最优)

3.用css实现一个三角形

4.说一下闭包及其用途和不好的地方

5.说一下js中this指向有几种,并且如何解决this指向混乱问题(答案是箭头函数)

6.你vue学的怎么样,给你一个单选框,一个按钮,用vue实现点击单选框切换按钮的颜色(不要操作dom)

7.给你一个排好序的数组,如何打乱?你有几种方法,还有没有最优的解法?

8.给你一个长度为N的排好序的数组,要求给出数组元素之和为M的情况,例如长度为10的数组,数组元素为[1,2,3,4,5,6,7,8,9,10],要求给出数组元素之和为11的情况,如[1,10],[1,2,9],[1,3,4,6]

最后跟面试官交流,面试官说公司大部分都是全栈工程师,并且只要你面技术岗(包括前端,后端,大数据等),第一面都是算法。所以想进头条的童鞋们,加油吧!

闪银奇异

公司看起来很小,但是问的问题内容很多,基础上偏难(主要要求你说的详细),主要包括js(es5和es6),http协议,算法,vue,感觉是个大公司,现在找个实习好难啊!

1.说一下js面向对象和原型,我说完以后,他继续问我为什么构造函数种存储属性,原型对象中存储方法

2.了解闭包吗?说一下闭包

3.了解es6吗?说一下es6新增的字符串方法

4.说一下es6中promise及其实现原理(我说用我会,原理不懂)

5.说一下vue里面双向数据绑定的实现原理(回答一样,我说只会用,不懂原理)

6.给我在笔记本上出了几个题,让我说结果,问的是this指向问题,这种题目建议大家不要按正常套路走,一般都不会让你输出正常结果

7.说一下输入url地址到回来的过程(要求你说的超级详细)

8.http缓存

9.cookie,session,localSorage,sessionStorage

10.说一下数组是如何在内存中存储的

11.说一下链表如何定义的

12.给你一个只有左右括号字符串,判断它是不是正常的括号匹配机制,如'(()())'是正常,‘())(()’是不正常

13.说一下你简历上的一个项目

最后问面试官怎么才能通过,面试官说回答上来100%,不然就跟其他面试者比较,择优录取,所以现在的形势是在回答上来的基础上要超越其他人!所以童鞋们加油吧!

好未来

1.说一下你知道的html

2.说一下你学过的css(我说伸缩盒子,面试官就对伸缩盒子问的特别详细,包括怎么用,纵向布局怎么用,都有哪些属性和注意事项)

3.闭包

4.面向对象和继承

5.vue中的父子组件传值(详细,包括子组件如何向父组件传值,手撕代码实现)

6.vue中methods和computed的区别

7.filter,watch,directives都是干嘛用的

8.双向数据绑定(手撕代码实现)

1.有没有用过可视化工具?(我说没有)

2.说一下http协议(问的特别详细那种)

3.get和post的区别(我说get只能发送ASII字符,他就问我get如何发送非ASII字符,我说get不如post安全,他就问我为什么post更安全)

4.知道CSRF吗?怎么解决?

5.跨域

后面的忘了,反正问的都是我不会的,说自己会的就会问你其他问题(比如算法优化),然后就会被卡死,找个实习真的难啊!

阿凡题

笔试题(要求写出尽可能多的解决方案):

1.移动端适配:设计一个页面使页面宽度等于浏览器宽度,缩放比例和PC端保持一致,不允许用户自行缩放页面

2.写出你知道的所有样式优先级

3.你知道的跨域

4.如何更新缓存(js,css)

5.移动端调试页面的方法

6.Vue或React如何实现父子组件通信

7.setData函数如何使用?

8.数组去重的方法(ES5,ES6)

面试:

1.讨论数组去重的细节(比如空对象和空数组不相等,不能去除)

2.跳台阶和变态跳台阶(一共N阶台阶,每次只能跳1阶或2阶,问一共有多少种跳法)

3.问我博客中括号匹配符的正确性的解题思路

4.var arr=[1,2,3] arr1=arr arr1.push[4] 问arr是多少

5.排序算法的稳定性

6.深拷贝和浅拷贝的区别

第一部分是思维题目就是找规律那种

第二部分是技术题目

1.闭包

2.this指向

3.找出字符串中出现次数最多的字母,返回次数

4.N的阶乘

5.一个比赛的题目比较开放,没有思路

6.两个||与一个|的区别

7.跨域

8.canvas

9.实现in_array

1.vue双向绑定原理

2.webpack以及你用过的插件

3.es6新特性以及相关应用

4.http状态码

5.vue生命周期

6.vue路由

7.你的项目

8.手写基本Promise及ajax请求

1.浏览器缓存及其优缺点

2.是否对php有了解,会不会php语法

3.双向数据绑定原理

4.webpack

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值