前端面试知识点--6

整理自牛客网面经

js有几种数据类型。
将一个字符串转化为数字,将数字转化为字符串。
将数字转化为布尔型。
对数组的几种操作方式。
获取当前网址url并从中截取信息。
postison的几种属性
rem移动端
事件委托原理
闭包原理并应用
原型继承的几种方式
jsonp跨域问题,并手写代码
实现斐波那契数列,并手写代码
数组去重,并手写代码

1.手写jsonp的实现
2、手写链表倒数第K个查找
3、http请求头,请求体,cookie在哪个里面?url在哪里面?
4、垂直居中,多行文本垂直居中
5、原型链的解释
6、对闭包的理解,实现一个暴露内部变量,而且外部可以访问修改的函数(get和set,闭包实现)
7、{}=={}? []==[]? null==undefined?
8、基本的数据类型
9、基本的两列自适应布局
10、unix中常用的命令行
11、OSI模型,HTTP,TCP,UDP分别在哪些层
12、网站性能优化
13、解释平衡二叉树,以及在数据结构中的应用(红黑树)
14、快排的时间复杂度和空间复杂度。

手写一个jQuery插件
2、在jquery方法和原型上面添加方法的区别和实现( .extend, .fn.extend),以及jquery对象的实现(return new jQuery.fn.init)
3、手写一个递归函数(考察arguments.callee,以及arguments的解释)
4、对前端路由的理解?前后端路由的区别?
5、介绍一下webpack和gulp,以及项目中具体的使用
6、你对es6的了解
7、解释一下vue和react,以及异同点
8、关于平衡二叉树
9、前后端分离的意义以及对前端工程化的理解
10、使用css实现一个三角形(盒模型border和css旋转两种方法,主要考察css3旋转)
11、用promise手写ajax
12、手写一个类的继承,并解释一下
13、解释一下call函数和apply函数的作用,以及用法

介绍自己
2、手写一个js的深克隆
3、for函数里面setTimeout异步问题
4、手写归并排序
5、介绍自己的项目

、实现两个数组的排序合并,我一开始先合并再排序,他不乐意,然后我用了类似插入排序的方法。
2、手写一个原生ajax
3、手写一个promise版的ajax
4、手写实现一个promise(不会)
5、手写实现requireJS模块实现(想了半天才想到createElement(“script”),配合异步来加载,闭包导出)
6、手写实现jquery里面的insertAfter(结合nextSibling和insertBefore来实现)
7、react和vue的介绍以及异同
8、AMD和CMD,commonJS的区别

介绍一下backbone。
2.了解过SEO吗?
3.低版本浏览器不支持HTML5标签怎么解决?
4.用js使低版本浏览器支持HTML5标签 底层是怎么实现的?
5.实现一个布局:左边固定宽度为200,右边自适应,而且滚动条要自动选择只出现最高的那个。
6.画出盒子模型,要使谷歌浏览器的盒子模型显示得跟IE浏览器一致(让谷歌跟ie一致,不是ie跟谷歌一致),该怎么做?
7.手写JS实现类继承,讲原型链原理,并解释new一个对象的过程都发生了什么。
8.Array对象自带的方法,一一列举。
9.若干个数字,怎么选出最大的五个。
10.Array对象自带的排序函数底层是怎么实现的?
11.常用的排序算法有哪些,介绍一下选择排序。
12.了解navigator对象吗?
13.手写一个正则表达式,验证邮箱。
14.link和@import引入CSS的区别?
15.刚才说有些浏览器不兼容@import,具体指哪些浏览器?
16.介绍一下cookie,localstorage,sessionstorage,session。

、Array的unshift() method的作用是什么?如何连接两个Array?如何在Array里移除一个元素?
——很简单,就不解释了。
2、用纸笔写一个Closure,任意形式和内容。
——可以用Anonymous function来写,也很简单。
3、知不知道Array-like Object?
——比如arguments或者DOM elements collection(queried by selectors)
4、如何用Native JavaScript来读写Cookie?
——这个忘了,没答出来。
5、知不知道CSS Box-model?
——很简单,顺便说了下IE6的差别。
6、如何做一个AJAX Request?
——说了一下XMLHttpRequest基本用法。
7、Cross-domain access有没有了解?
——说了一下JSONP和Preflight request
8、前端安全方面有没有了解?XSS和CSRF如何攻防?
——XSS的攻防不太清楚,CSRF说了一些,主要是every user can have a unique session id that will be cleared and regenerated every session to identify uniqueness.
9、HTTP Response的Header里面都有些啥?
——其实有好多,但只说了Content-Type和Cross-domain access的一些header properties。
10、知不知道HTTP2?
——没答出来。
11、输入URL后发生了什么?
——DNS解析,定位Server,检查Default HTTP Port,TCP Three-way handshakes,HTTP Request,HTML Tokenization and DOM Tree building,CSSOM building and JavaScript execution,最后是Render Tree building, layouts calling and style recaluculating……说实话说到这里还没说完,但面试官叫住我,说:不用说了我知道你啥意思……
12、new operator实际上做了什么?
——Call constructor and allocate memory然后是连接object和它本身的prototype最后return this(conceptually)

、自我介绍。
2、面向对象的属性有哪些?
——这题本来是知道的,但一开始没理解面试官的意思,讲了object的methods和states,面试官笑了打断了我,重复了问题,我吓了一跳,然后重新说polymorphism和inheritance,然后一下子懵逼,面试官后来才说还有一个encapsulation(这个真是一下懵了,很简单的问题)。
3、做一个两栏布局,左边fixed width,右边responsive,用纸笔手写。
——写了flexbox和float两种实现。
4、讲一下AJAX Request。
——说了IE9 Compatibility solution和正常的XMLHttpRequest,包括Cross-domain时候可修改的header properties。
5,讲一下Cross-domain access。
——就是瞎扯了一些之前一面说过的,加上了preflight request的解释。
6,介绍一下做过的项目。
——介绍了其中一个用JavaScript实现的游戏引擎。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值