前端面试知识点--4

来自牛客网的面经
Javascript 是一种弱类型语言,它分别有什么优点和缺点?
Javascript 里面的数据类型有哪些?
在 js 里 call() 与 apply() 有什么相同和不同?
XML 和 JSON 有过了解吧?能说一下分别介绍一下他们吗? JSON 有什么优势?
你最近都在看哪些书?
《高性能网站建设》这本书里讲了些什么?对你有什么帮助?
看到你简历里写有了解 CSS3 ,那么我想问你,你可以说下 CSS3 有哪些新特性吗?
简历上面说你对 C# 和 PHP 也有学习,你能分别介绍一下这两种技术吗?
当你访问一个网站时,会用到哪些协议?
在和服务器建立连接时,用的是 TCP 还是 UDP?
你是计算机专业,那么对数据结构和基本的算法一定有些认识,你可以说说有哪些常见的排序算法吗?
快速排序算法是一种稳定的算法吗?它的最坏复杂度是多少?平均复杂度呢?
那么在 C++ 里面,堆栈最大的不同点是什么?
你用 JS 实现过一些基本的数据结构吗?
对于 Node.js 你了解多少?

1.jquery绑定click的方法有几种
2.你的优点/竞争力
3.移动端适配问题 (自己查吧)
4.react的难点在哪里
5.做过css动画吗 css3新特性(最熟悉的),html5(websocket等)
6.如何优化网站
7.以后的规划

数组去重
position的几种值
css选择器优先级
伪类的用法
闭包
闭包的实现举例
浮动
清除浮动
jsonp是啥
跨域是啥
跨域的方法
gulp怎么用,用过啥

require的读取顺序
图片轮播
sass的伪类怎么嵌套
jsonp是啥
怎么用jsonp
发送jsonp时候的那个消息头长什么样子?
一个文本框,需要两个控件对里面的值进行控制,一个是+1一个是-1,要求每点击一次就有个提示框冒出来。
而且文本框是可修改的,每次修改也会冒出提示框。
css定位

css position的几种值与区别
闭包
html5的新功能了解多少
说说离线存储
它们与cookie的区别
this的理解
怎么传入this
apply和call的区别

你用过哪些优化(我说了css sprite和减少http请求,顺便引出了webpack,但没想到她也没有问)
gulp你是怎么用的
jsonp是啥
怎么跨域
为什么要跨域
怎么学习的
position几种值
具体运用是什么
display几种值
兼容性你懂多少(我就说了Ajax的还有盒子模型,但她说还有很多,但之前我说了没有系统地去学过css,都是不会的时候查文档的,估计因为这样所以她也没有追问下去)
说说你了解的框架(我说了react和vue)
react你觉得怎样(我说了一些组件化和虚拟dom树的东西)
AngularJS呢(我说没有学过,但了解过一点,我把我了解的都说了给她听)
两个的比较
为什么你会觉得AngularJS笨重?(也是自己的看法,mvc框架嘛,一整套什么都有)
jQuery还是原生js(百度的面试官都问了这个问题,我直接说对于jQuery我并不是很熟悉,因为我更喜欢研究原生js。)
为什么选择原生js(我认为要把原生吃透再去理解其他类库的话会更好一点,她说也是)

html语义化
h5新标签
es6
promise
promise解决了你什么问题
跨域的方法
jsonp怎么用
用过什么库
gulp的插件用过啥
webpack
为什么要打包 (我说了http请求那点事)
介绍一下react
组件化是啥
你觉的react的优点
为什么没有选择学习AngularJS
flex
响应式布局是啥
响应式布局是根据什么进行响应
css中用什么进行屏幕的判定
css中实现阴影的有什么

点击a标签发生了啥
http2您说说
说说各种框架
聊聊AngularJS(说了我的理解,但不怎么了解)
那你熟悉哪个框架(正在玩React,vue也懂一点)
你给我说说你那个博客生成器(github.com/sidkwok/tech-dairy)(我知道我知道,很多广告!)
聊聊项目
聊聊模块化吧
sass你怎么用
gulp用过啥
介绍一下webpack
实现sum(2,3);sum(2,3,4);sum(2,3,4,5);(我用了比较原始的方法,if来判断)
那如果sum里面的参数不确定呢(提取arguments的长度,用for循环)
你知道伪数组吗?
那你重新设计一下这个函数,让它直接拥有数组的方法吧(var arg = Array.prototype.call(arguments))
ok, 再来一个数组去重吧(这太经典了吧)

1、移动端和pc差别
2、html5的特性
3、node.js
4、jq源码读过之后有什么提升
5、js创建对象的几种方式

1、 在地址栏输入url中间会经历什么
2、你所了解的前端技术栈有哪些

这个可能我要多说一下。本来吧这两个问题看似简单其实暗藏杀机。
首先第一个问题。你的回答中将会包括http协议 服务器的知识,浏览器渲染的知识。打个比方,dns是什么 作用。如果你能把每一块说的很清楚的话,那真的没撒问题了。
第二个问题就是考察的是你在前端方面的可扩展性,如果你了解的越多证明你知道的越多。可塑性可发展性更强。

ajax在jquery的底层是怎么实现的
2、Promise编程
3、页面优化 url问题,同上
4、css3动画优化
5、重排重绘
6、项目开发(你现在做的这个项目你觉得你写的东西最大的优点和缺点)
7、git自动化部署测试服务器(这个是我最近搭的测试服务器,也问了一下。不多)

1.文档声明

2.文档编码格式

3.表单请求方法

method=”get|post”

get请求数据在请求行的url后

post请求数据在请求体中

4.选择器

看英文文档

5.NodeList和Array的区别

6.typeof

7.instance of原理

instanceof 检测一个对象A是不是另一个对象B的实例的原理是:查看对象B的prototype指向的对象是否在对象A的[[prototype]]链上。如果在,则返回true,如果不在则返回false。不过有一个特殊的情况,当对象B的prototype为null将会报错(类似于空指针异常)。

8.数组排序

输入为数组

function sort(arr){

return arr.sort(function(value1,value2){

return value1-value2

});

}

输入为不确定个数的数字

function sort(){

return Array.prototype.call(arguments).sort(function(value1,value2){

return value1-value2

});

}

有更好的方法吗?

  1. 正则

手机号码正则

  1. 我的提问

前端学习的建议?

精读《语言精粹》,打好基础。

二面

1.数组和链表的区别

存储:数组顺序存储

操作:数组读取方便,链表插入删除方便。

2.假设你负责的JS模块出现问题,怎么办,或者说你解决问题的优先级是什么?

保证用户可访问性:提供简单替代性页面(类似常见404处理方式)

问题排查:借助工具、请教有经验前辈

问题解决:联系开源项目开发者

随记:面试官问的特别“找茬”,确定是你所负责js模块的问题,但就是找不到问题所在,你怎么办?现在找到问题所在了,但你解决不了,重新写代码来不及,公司团队统一用的一个框架,重写或者更换的代价太大,你怎么办?

三面

1.简单自我介绍

2.平时喜欢做什么

画铅笔画、打乒乓球、听音乐

你乒乓球达到什么水平?女生中比较好的

哪些球打的好,哪些球打的不好?杀球还不错,但是和男生打还是比较吃亏,不喜欢旋球,路线不确定。

马龙和张继科谁厉害?不知道(马龙)

你喜欢谁?张继科,长得帅。

3.用三个词形容自己

活泼开朗、学习能力强、处女座

为什么说自己努力?做事最求最好,学习成绩不能说明一切,但是能说明我的态度和能力。

处女座一般都是一个自黑的词,为什么用它形容自己?我不觉得处女座是不好的,大家平时说我处女座,都是认为我靠谱,做事超级认真,追求完美。

你觉得自己是典型的处女座吗?我的处女座特征是东西整齐,也是典型的一种吧

觉得有什么不好吗?就是太爱整齐,有什么觉得有点浪费时间,其他挺好。

4.我的提问

前端妹子的发展路线都有哪些?

百度

一面 2016.9.19

1.数据库数据类型

2.==和===

3.正则 手机号码

4.垂直居中

5.box-sizing

6.二叉树遍历

7.get和post

get数据在请求头请求路径后

post数据在请求体里

8.进程和线程

9.常见排序算法的时间复杂度

10.HTTP

11.TCP

  1. 数据集A、数据集B大小500GB,电脑内存很小,如何求得AB的差集。

分治法 先排序 多线程同时进行比价

二面 2016.9.23

1.CSS Sprites

工具

2.background

background-color

background-image

background-repeat

background-position

background-attachment

3.字符串复制

‘abc’->’abcabc’ +

字符串复制n次

循环

4.JSON字符串转换为JSON对象

JSON.stinigify() JSON.parse()

原生实现:字符串的处理根据逗号、冒号分隔

5.字体族

Bootstrap

6.$.extend()

两个对象的合并

a={a:1,b:1}

b={a:2,b:2}

for(var key in b){

a[key]=b[key]

}

多个对象的合并

arguments循环

7.动画

CSS实现

JS实现

8.组件

拖拽组件:

鼠标按下鼠标在屏幕内的位置

鼠标按下鼠标在元素内的位置

鼠标松开设置元素的放置位置

可抽象的设置:

拖拽对象

放置对象

拖拽对象样式

9.JS配合DOM实现EChart柱状图

总量确定

总量不确定

10.兼容

IE常见兼容问题

兼容处理方法:

条件注释

hack

-ms-

11.关注的社区

W3CSchool Github SegmentFault MDN

官网 JQuery Bootstrap LESS

12.我的提问

前端技术多而杂,好的学习方法?

关注技术发展

各大互联网前端技术博客 百度前端技术学院ife.baidu.com

贡献开源项目

写博客

三面 2016.9.24

1.自我介绍

2.介绍自己做过的一个项目

3.项目角色配合合作

4.怎样处理同事间的摩擦

5.怎样更新自己的知识体系

6.工作计划

7.百度的好和不好

8.自己的优点和缺点

随记:百度的HR那绝对是阅人无数,绝对不要试图回避问题,能回答就回答,不回答坦白说即可,他问得每个问题的背后,都有一个目的,就是他其实想听到的你关于什么方面的内容,这个比较让人心累。好在,最后我在说自己的缺点时,和他认为的我的不足一样,他猛点头,让我觉得自己特别有自知之明。

百度外卖

一面 2016.9.21

1.CSS

2.事件委托

3.DOM

4.Ajax

5.绑定事件

6.JSONP

7.对象

8.管理工具

9.匿名函数

10.二分查找

11.我的问题

笔试题最后一题,不确定个数的数字,分成三份,使得每份的和的差尽量小。

随记:

这个面试官特别像大学同学,长得像,说话的语气速度都像。

二面 2016.9.24

1.手机向上拉,加载新内容是实现

2.深度遍历DOM节点

3.toggleClass实现

4.字符串匹配,一个字符串子在另一个字符串中出现的次数

5.BFC块级格式化上下文

6.随记:所有面试中被虐的最惨的一次,事后和小伙伴聊天,她的一句话特别适合形容我的当时的心境:放我走吧!

三面 2016.9.26

1.为什么选择web前端开发岗位?

2.web前端开发程序员应该具备哪些技艺?

3.遇到过什么印象深刻的挫折?简历直接被刷掉

4.你的优势?

5.你的不足?

6.我的提问

7.公司对应届生的要求?基础

随记:HR给人很实在、随和的感觉,全程毫无紧张感。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值