大厂前端面试题目大集合

1.哔哩哔哩-2017前端面试

一面: 
1. 如何实现一个同花顺?写代码如何实现?(七张牌同一花色并且数字相连) 
2. display有哪些属性值? 
3. 块级元素与内联元素的区别? 
4. 冒泡排序的复杂度是多少?快排呢? 
5. 如何实现快排? 
6. JS的基本数据类型 
7. 获取DOM节点的几个方法? 
8. 如何给DOM节点上添加事件? 
9. 如何实现水平垂直居中? 
10. position的属性值有哪些? 
11. HTTP状态码有哪些? 
12. GETPOST的区别?

二面: 
1. 如何实现二分查找?(迭代版和递归版,问那个效率高一些) 
2. JavaScript递归转循环?(表示这个没有听过) 
3. 如何用原生JS实现一个队列? 
4. 如何实现一个栈?(两种方法,然后问哪个效率高一些?) 
5. 数组删除元素的方法 
6. 添加元素的方法 
7. join()方法?sort()方法 
8. 原型链?讲下有什么作用?ES6Class与原型的关系 
9. 为什么Class constructor里面定义的属性是对象本身的属性? 
10. ES6 Proxy的概念?(表示没有用过,不知道适合哪种应用) 
11. 还用过ES6的哪些新的特性? 
12. 闭包?运行时上下文里面包括什么?

2.百度-2017前端面试题 

一面:

  1. TCP三次握手四次挥手了解吗?介绍下。
  2. HTTPS的连接是什么样的?有了解过吗?(只说了简单原理,没有看过具体是怎么回事?)
  3. HTTP的Cache是怎么结合浏览器的,具体能说下有哪些字段?计算机方面学过哪些课程?(说到了算法)
  4. 然后问排序算法有哪些?(说到插入排序,冒泡排序,快速排序,归并排序,堆排序)
  5. 后面又问快速排序和堆排序的优点(特点)是什么?(表示算法不是特别好,面试官还一直鼓励,说没事)
  6. JS如何实现快速排序算法的?
  7. 对MVC、MVP以及MVVM了解吗?有提到`MVVM`的双向绑定,然后又问到双向绑定是绑定谁和谁?
  8. React算是什么模式架构?Vue呢?
  9. AMD、CMD模块化规范?有什么区别?他们的应用都有哪些?
  10. ES6的Module?
  11. 说到ES6是静态化导入的,而且不能分支导入,然后问AMD、CMD能够分支导入吗?
  12. 对于Web的XSS攻击和CSRF攻击有了解吗?如何去防范?
  13. React组件中子组件如何与父组件进行通信?
  14. 然后问实习中主要做了什么?
  15. 有提到React组件的生命周期,问生命周期有哪些?说了一些,面试官说感觉我很熟悉这个,不用说了
  16. 最后还问如何去评估你做的这个东西的价值?
  17. 后面就是问我还有什么问题。

3.美团-2017前端面试题 

一面:

  1. 自我介绍
  2. 做了哪些项目?
  3. 项目中遇到的问题?技术栈上遇到什么问题?
  4. TCP和UDP的区别有哪些?(当时只回答出来面向连接和无连接) TCP:面向连接的(三次握手建立连接);保证数据正确性;流模式UDP:无连接的;尽可能交付,不保证数据到达的顺序;数据报模式
  5.  HTTP restful有了解吗?(没有听说过,貌似是一种设计风格,不是一种协议)
  6. 因为上面说完全没有了解过,又问我对于HTTP的状态码是否有了解。
  7.  平时用什么代码管理?(GitHub)
  8.  Github常用的命令有哪些?
  9. Fetch命令有没有用到过?是什么用的?(没有用到过Fetch,但是用到Git pull,拉下来最新的代码然后与本地代码合并,但是Fetch不会合并)
  10. 浏览器的缓存机制了解吗?(不太了解)
  11. CSS如何实现水平垂直方向的居中(Flex布局; Position结合margin负值实现)
  12. 比如一个模态框,右上角一个关闭按钮,样式就是一个圆圈,里面一个叉,不用Icon图标实现,纯CSS如何去实现?(利用伪元素以及字符的Unicode码)
  13. 原生JS如何实现继承?(原型继承,伪造对象方式)
  14. 讲了好几种继承,后来又问如果让你去实现一个new操作,原生JS如何去实现? 
  15. 原生JS获取DOM节点的API有哪些?(getElementById, getElementByTagName, getElemmentByClassName, querySelector, querySelectorAll)
  16. document.ready和window.load有什么区别?(触发时机不一样;执行次数不一样)
  17. call、apply、bind函数的区别?
  18. 因为简历里有提到ES6,然后问ES6的新特性有哪些?提到箭头函数,又问箭头函数的作用是什么?箭头函数与普通函数有什么不一样?
  19. 也有提到React,问React的Diff算法是否有了解?
  20. 如果让你实现一个购物车,如何去实现?比如复选框,每个物品后面都有一个复选框,和最后也有一个全选的框,如何用原生JS去实现?记得之前看过一篇关于发布订阅模式的帖子,里面有用这个举例,不过想不起来具体怎么做的了
  21. 还有HTTP的Method有哪些?Get和Post有什么区别?如何理解幂等性和安全性?
  22. 最后是一个智力题,有若干条绳子,每一条材质都不均匀,并且不均匀程度也不一样,但每一根烧完都是一个小时。然后问怎么去测一个小时十五分钟的时间?
  23. 最后问如何去学习前端的?前端学了多久?对美团有没有什么认识?介绍了下我所报的部门的业务,我问了下技术栈。一面基本就这么多。

二面:

1. 如何实现一个计数器;(闭包就可以) 
2. 加入上面实现的计数器为f函数。

        a = f();

        b = f();

        a();

        b();

问输出是多少?(这一题答得不好,其实a和b是一样的函数,应该都输出1) 

3. CSS的选择器权重 
4. 如何提升页面加载速度? 
5. 因为上面提到回流和重绘,又问回流和重绘的区别? 
6. Web安全是否了解过?XSS原理和如何防范? 
7. 跨域?如何实现?(提到JSONP,然后问缺点是啥?) 
8. TCP三次握手? 
9. 数组和链表的区别? 
10. 栈和队列的区别? 
11. 盒模型是啥? 
12. 有一个div父元素,里面有很多子元素,比如div,p等等,如何实现点击div父元素里面任意一个紧邻的子元素,打印出其中的innerHTML?(提到事件委托) 
13. 下来是两道简单的算法题:有一个排好序的数组,并且数字都没有重复,给定一个数字m,判断数组中是否存在m的值,并且存在返回位置,如果不存在,返回-1.(用二分查找,属于递归,递归的终止条件).另一个是,求m的n次方,m和n都是整数。(这里需要考虑整数包括正整数和负整数,另外说了一个O(n)的方法,又问有没有更优的。后面想到可以判断n是否为2的倍数,一直除2,每次最终的数等于上一次得到的数乘以m的2次方,这样就是O(lgn)的复杂度应该。) 
14. 下来就是对自己3-5年内有没有什么规划。 
15. 最后就是聊聊天,问目前有没有Offer,然后问面了哪些公司?然后还问家是哪里的这些。 
16. 最后就是有没有问题问他,就问前面的问题哪些答得不好?说了几个缺点,个人也觉得没有答得很好,有几个确实没有发挥好,也有些是考虑不全面的问题。

  • 0
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值