zoukankan      html  css  js  c++  java
  • 个推面试总结

      今天是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 中,这通常只会在后面产生一个空格(多复制几个就看出来了,少了不明显);不过如果使用了 <PRE> 和 <XMP> 标识,这个换行符会被解释,且在浏览器中显示。

      如何遍历?

    //遍历对象
    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()

    <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>底部box</div>
    </div>
    • 冒泡排序;数组链表
    • 媒体查询;响应式布局;职业规划;什么时候接触前端的;
    • 会问项目中某个东西具体是怎么实现的
    • 有什么问题要问我们的吗
    • 一块砖头能干什么

      

      

     

  • 相关阅读:
    python 利用正则表达的式提取特定数据如手机号
    python 横向比较最大值 贴标签
    Go语言基础之17--Redis基本操作
    Mysql5.7.20源码编译安装
    Go语言基础之16--Mysql基本操作
    Go语言学习包(1)之bufio包
    Go语言基础之15--文件基本操作
    Go语言基础练习题系列5
    Go语言基础之14--Waitgroup和原子操作
    Go语言基础之13--线程安全及互斥锁和读写锁
  • 原文地址:https://www.cnblogs.com/wangmengjun/p/7817848.html
Copyright © 2011-2022 走看看