您的位置:首页 > 职场人生

前端面试知识点--6

2016-09-27 22:02 344 查看
整理自牛客网面经

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实现的游戏引擎。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  前端 面试