美文网首页
深信服春招部分笔试题

深信服春招部分笔试题

作者: 啧啧扬 | 来源:发表于2019-03-22 00:52 被阅读0次
  1. 清除浮动的方法
    • 在浮动元素后面添加一个块级元素占位,并设置clear:both
    • 父元素设置overflow:hidden,或者设置overflow:auto
  2. 对于某<div>节点下面有若干<h1>、<h2>节点,对于选择器div:after选择权,以下描述正确的有:( )
    • 可作为<div>最后子节点插入内容
    • 必须配置position才可生效
    • 必须配置content才可生效
    • 可在<div>后面,跟<div>同一层插入内容
  3. chrome中,默认https不会阻断什么http请求(不会。。。)选择有:
    Frames、Script、Css、WebSocket、XHR、Images
  4. 对一个没有嵌入在<iframe>中的<a href="./go">元素,当给a配置哪个target后可以做到在点击连接时覆盖当前页面
    _current、_top、_self、_blank、_parent
  5. url中"?"和“#”
    描述 #
    改变浏览器的访问历史 true true
    网页重载会把其数据发送到服务器 true false
    是否会触发重载 true false
  1. 什么情况会导致浏览器HTTPS证书告警

    • 过期的证书
    • 自签名的证书
    • 站点的域名与证书颁发时域名不一致
    • 站点的域名与证书颁发时域名不一致
    • 私有CA颁发的证书(这是可以的。。
  2. let sangfor = {
        a:100,
        log:b=>console.log(this.a,b,this.a+b)
    };
    sangfor.log(300)//undefined 300 NaN
    sangfor.log.call({a:300},400)//undefined 400 NaN
    sangfor.log.bind({a:500},600)
    sangfor.log.apply({a:700},800)//抛出未处理异常
    

    箭头函数的this只会绑定其在定义时的this,使用apply、call、bind方法指向的对象会被默认忽略。

  3. let x = {
        toString(){
            return 20;
        },
        valueOf(){
            return '30'
        }
    }
    console.log(x=='20')
    console.log(x==30)
    //false
    //true
    
  4. oo = {
        get sangfor(){
            console.log('get')
        },
        set sangfor(v){
            console.log('set')
        }
    }
    oo.sangfor = '100'
    console.log(oo.sangfor)
    //set
    //get
    //undefined
    
  5. 在“use strict”模式下,以下哪些是禁止的:

    • 使用eval
    • 使用以0为前缀的8进制数,比如:sangfor = 010
    • 使用arguments.callee
      - 使用未定义的全部变量
  6. var sangfor = NaN
    function sangfor(){}
    if(typeof sangfor === 'number')console.log(100)
    else if(typeof sangfor === 'function')console.log(200)
    else if(typeof sangfor === 'object')console.log(300)
    else console.log(400)
    //100 typeof NaN === 'number'
    

    typeof和===的优先级

  7. function load(){
        return Promise.resolve('sangfor')
            .then(result=>{
                throw result;
            })
            .catch(result=>'error')
    }
    async function fn(){
        console.log('zz',await load());
    }
    fn()
    //zz error   
    
  8. (function(){
        for(var i=0;i<5;i++){
            setTimeout(console.log,i,i)
        }
    }())
    //0
    //1
    //2
    //3
    //4
    

    setTimeout第三个参数是给第一个回调函数传参的意思

  9. 以下方法可以有效防止WEB站点被中间人攻击的方式有:()

    • 所有选项都不行
    • 后端发送数据时先在后端加密,前端接收再解密
    • 前端发送数据时先在前端加密,后段接收再解密
    • 使用全站HTTPS
  10. 对于CSRF攻击,以下描述正确的有

    • 可以在发请求的时候加入验证码进行防御
    • 引起原因主要是服务器没有判断cookie的合法性
    • 攻击者不需要获取到用户的cookie即可攻击
    • 可以在cookie加入额外的token进行防御
  11. 对于HTTP中的针对登陆用户的会话管理,对生成的令牌描述正确的有:

    • 一般需要生成多个令牌,全部检验通过才响应需求
    • 令牌必须使用强加密算法,比如:BASE64
    • 禁止仅在URL中传送会话令牌
    • 成功验证登陆后必须重新生成会话令牌,旧的令牌必须失效
    • 使用cookie传送绘画令牌可以防御csrf攻击
  12. 写一个函数把数值转化成对应的中文表达式
    限制条件:

    1. 输入的数值格式都是正常的,不需要考虑不正常的情况
    2. 需要支持小数
    3. 数值大小没有限制
     const inputStr = readline()
    var trans = ['零','一','而','三','四','五','六','七','八','九']
    const result =''
    if (inpuStr.indexOf('.')){
        var integerPart = inputStr.split('.')[0]
        for(let i=0;i<integerPart.length;i++){
            result+=trans[integerPart[i]]
        }
    }
    
  13. 实现一个AI任务队列,AI需要提供以下接口

相关文章

网友评论

      本文标题:深信服春招部分笔试题

      本文链接:https://www.haomeiwen.com/subject/sfjkvqtx.html