今天是2017年11月11日,9号投的简历,昨天中午收到电话通知。下午去参加宣讲会,但去的有点迟了,所以在另一个教室等笔试,结果宣讲完了之后hr过来说:早上电话通知的不用笔试,直接面试。然后就过去等面试了,等到别人笔试完了都没轮到我,有点尴尬。到我之后,也没面试多久。先问了什么时候接触前端,为什么喜欢前端等等。
接下来就手写了个题: var a = {x:1}; var b = {x:1}; a == b; a === b; ,问那两个结果?如何使之相等?
var a = {x:1}; var b = {x:1}; document.writeln(a == b); //false document.writeln(a === b); //false for (let i in a) { if(typeof a[i] !== 'function'){ a = i + ": " + a[i]; //不确定是不是这样写。。。 } } for (let i in b) { if(typeof b[i] !== 'function'){ b = i + ": " + b[i]; } } document.writeln(a == b); //true document.writeln(a === b); //true
writeln( ) 方法与 write( ) 方法几乎一样,差别仅在于是前者将在所提供的任何字符串后添加一个换行符。在 HTML 中,这通常只会在后面产生一个空格(多复制几个就看出来了,少了不明显);不过如果使用了 和
如何遍历?
//遍历对象 var a = {x:1,y:2,z:3}; for (var i in a ) { if(typeof a[i] !== 'function') { document.writeln(i + ":" + a[i] ); //x:1 y:2 z:3 } } //Object.keys() 会把所有属性名作为一个数组集合输出 document.writeln(Object.keys(a)); //x,y,z //Object.values() 会把所有属性值作为一个数组集合输出 document.writeln(Object.values(a)); //1,2,3
http状态码: 1xx 表示消息(临时响应) 2xx 表示成功 3xx 表示重定向 4xx 表示请求错误 5xx 表示服务器端错误
200 OK 表示请求成功,一切正常。
301 Moved Permanently 重定向(永久移动),客户请求的文档在其他地方,新的URL在Location头中给出,浏览器应该自动地访问新的URL。
302 Found 临时重定向,类似于301,但新的URL应该被视为临时性的替代,而不是永久性的。
304 Not Modified 客户端有缓冲的文档并发出了一个条件性的请求。服务器告诉客户,原来缓冲的文档还可以继续使用。
400 Bad Request 请求出现语法错误。
403 Forbidden 资源不可用。
404 Not Found 无法找到指定位置的资源。
405 Method Not Allowed 请求方法(GET,POST,HEAD,DELETE,PUT,TRACE等)对指定的资源不适用。
500 Internal Server Error 服务器遇到了意料不到的情况,不能完成客户的请求。
501 Not Implemented 服务器不支持实现请求所需要的功能。
503 Service Unavailable 由于临时的服务器维护或者过载,服务器当前无法处理请求。(临时的)
了解浏览器存储吗(cookie,localstorage,sessionstorage)?哪个更不安全点?
cookie安全性问题
还有什么不记得了...
下面是segmentdefault上澹台宇鹏分享的面试经验:
- 框架angular,有用到angular的一些什么功能
- flex布局兼容性
- 数组去重方法
ES6去重
var arr = [1,1,'1','1',null,null,undefined,undefined,NaN,NaN]; var newArr = Array.from(new Set(arr)); console.log(newArr);
- 跨域问题
- 本地存储,cookie安全性(问过了)
- 怎么定义声明一个JSON
- 阻止冒泡中stopPropagation,preventDefault和return false区别
1.event.stopPropagation()方法
这是阻止事件的冒泡方法,不让事件向documen上蔓延,但是默认事件任然会执行,当你掉用这个方法的时候,如果点击一个连接,这个连接仍然会被打开,
2.event.preventDefault()方法
这是阻止默认事件的方法,调用此方法是,连接不会被打开,但是会发生冒泡,冒泡会传递到上一层的父元素;
3.return false ;
这个方法比较暴力,他会同事阻止事件冒泡也会阻止默认事件;写上此代码,连接不会被打开,事件也不会传递到上一层的父元素;可以理解为return false就等于同时调用了event.stopPropagation()和event.preventDefault()
- 你知道哪些js事件
- 事件委托
- 一道css float题目,呈现什么效果
<style> .float-box.left{ float:left; } .float-box.right{ float:right; } style> <div class="float-box"> <div class="left">靠左边浮动div> <div class="right">靠右边浮动div> div> <div class="bottom-box"> <div>底部boxdiv> div>
- 冒泡排序;数组链表
- 媒体查询;响应式布局;职业规划;什么时候接触前端的;
- 会问项目中某个东西具体是怎么实现的
- 有什么问题要问我们的吗
- 一块砖头能干什么