阿里、百度前端工程师社招面经
阿里前端二面
· Jquery选择器怎么实现
· 具体的类选择器怎么实现
· 原生js有什么方法可以按类搜索
· querySelector和querySelectorAll得到的结果有什么区别
· querySelectorAll得到的是Nodelist还是数组,这两个有什么区别
· 跨域的解决办法
· Jsonp为什么可以跨域
· Jsonp并发冲突
· Mysql两种引擎
· 数据库表编码格式,UTF8和GBK区别
· 一个表里面姓名和学号两列,一行sql查询姓名重复的信息
· 防范XSS攻击
· 过滤或者编码哪些字符
· 如何防止sql注入
· Php怎么过滤xss
· Video标签可以播放的视频格式
· http无状态怎么传递视频数据
· 状态码206
· 200到300之间的状态码为什么就是成功状态码
· 304过期判断的标记
· 有哪些排序算法
· 快排是否稳定,为什么不稳定
· 快排枢轴选哪个数
· 查找的方式有哪些
· 二分查找的条件
· 非排序的查找方式
· 哈希冲突怎么解决
百度前端一面面经
1、讲一下你认为的什么是优美的代码,有哪些实践,项目紧急时,舍弃哪一个(健壮,复用性,优美)
2、设计模式
讲了下发布订阅模式,他没细问
3、闭包,原理,常用场景
当时有点紧张,乱说一通,,,
4、手撕代码,实现call,
function b(){}function.prototype.call1 = function (that, ...pars){
this.bind(that)(...pars)
}
我总觉得有问题
4.2 手写 son 继承 father
var son = function (name) {
this.name = name
}
son.prototype = new father()
son.prototype.constractor = father
5、手撕代码,前序遍历二叉树
前面强行写的,代码可读性不好,而且有点冗余,解释了好久后面他要求用递归
6、手撕代码,手写快排
6.1、两边固定宽度,中间自适应
7、讲一下https
这个问题我研究了好久还跟同事分享过,一被问到就大脑空白,太悲催了最后他问一句我答一句,整个过程拼拼凑凑
8、express中间件
简单过了一点中间件
9、会写小程序吗?
10、讲一下函数作用域和块级作用域
这个讲了下var和let的区别,var声明提前,初始化提前,let声明提前,初始化未提前
11、js事件流,
12、项目中使用插件的时候有没有对比其他插件,引用别人的代码有没有看别人怎么实现的?
#阿里巴巴##百度##社招##面经#