2020 奇安信前端秋招笔试选择题

单项选择题

  1. CPU的调度分为高级,中级和低级三种,其中低级调度是指?
    A. 作业
    B. 交换
    C. 进程
    D. 线程

    正确答案:C
    解析:高级调度是作业调度;中级调度是交换调度;低级调度是进程调度。

  2. 以下代码执行后,result的值变成什么?
    var result=0;
    function test(result){
    result=1;
    }
    test(2);

    A. 0
    B. 1
    C. 2
    D. 代码执行时抛异常

    正确答案:A
    解析:result在方法内作为形参它的作用域仅限于这个方法,因此方法内的result=1并不会更改外界的result值;函数作用域的原因,test内的值无法影响到全局下的result。

  3. 以下代码执行后,result的值是什么?
    function Test(name) { }
    Test.name=‘Tom’;
    Test.prototype.name=“John”;
    var result = (new Test(‘JK’)).name;

    A. Tom
    B. John
    C. JK
    D. undefined

    正确答案:B
    解析:不选Tom的原因是, 在ES5语法里, 构造函数的属性和方法必须放到函数的原型上, 实例才继承得到.
    不选JK的原因是, 而后面实例里传的实参 ‘JK’ ,在实例里没有变量接收, 等于没有实参使用, 必须在构造函数里this.name=name 接收好实参传递的值才行, 就像这样:
    function Test(name) {
    this.name = name
    }
    不选undefined的原因是, 原型里有对应的变量, 实例就会直接调原型的变量。

  4. 变量el为一个< div class=“a” >元素,哪段代码能得到其滚动内容的高度( )
    A. el.scrollHeight
    B. el.style.scrollHeight
    C. el.clientHeight
    D. el.style.clientHeight

    正确答案:A
    解析:ScrollHeight滚动内容高度。clientHeight可视内容高度 ScrollTop滚动过的高度

  5. 设计一个判别表达式中左,右括号是否配对出现的算法,采用____数据结构最佳

    A. 线性表的顺序存储结构
    B. 栈
    C. 图
    D. 循环链表

    正确答案:B
    解析:力扣上有一道相应的题目。 栈是一种具有记忆能力的线性表,存取规则是先进后出,判别时遇到一个左括号时就向栈插入左括号,遇到右括号就从栈中删除一个左括号,最后若栈中没有左括号就证明括号成对,所以采用栈最适合判断表达式中括号是否成对出现。

  6. 对于有n 个结点的二叉树, 其高度为( )

    A. nlog2n
    B. unknown
    C. log2n
    D. log2n+1

    正确答案:D
    解析:一棵二叉树有n个元素,n>0,它的高度最大为n,最小高度为[log2n]+1。

  7. 如何判定一个头指针为head的带头结点的单链表为空表( )

    A. head→next == NULL
    B. head→next == head
    C. head == NULL
    D. head! = NULL

    正确答案:A

  8. 对于顺序存储的有序表(1,2,3,4,5,6,7,8,9),若采用折半查找查找元素4,需要查几次?

    A. 2
    B. 3
    C. 4
    D. 5

    正确答案:C
    解析:折半查找也称二分查找。
    因为它第一次判断, 只判断中间那个数字, 之后才开始对半查询, 加上后面的3次, 一共4次.
    首先,假设表中元素是按升序排列,将表中间位置记录的关键字与查找关键字比较,如果两者相等,则查找成功;否则利用中间位置记录将表分成前、后两个子表,如果中间位置记录的关键字大于查找关键字,则进一步查找前一子表,否则进一步查找后一子表。重复以上过程,直到找到满足条件的记录,使查找成功,或直到子表不存在为止,此时查找不成功。

  9. 关于NAT说法不正确的是?

    A. 可实现地址转换
    B. 可实现端口转换
    C. IPv6根本不需要NAT
    D. 可同时实现地址和端口转换

    正确答案:C
    解析:网络地址转换(NAT)是一种路由器。

  10. 下面不属于OSI七层模型的是?

    A. 物理层
    B. 聚合层
    C. 传输层
    D. 应用层

    正确答案:B
    解析:OSI七层模型:物理层、数据链路层、网络层、传输层、会话层、表示层、应用层

  11. 先进先出页面置换算法中以下描述正确的是

    A. 频繁访问的页面不会被淘汰
    B. 最先进来页面最先淘汰出去
    C. 最近未使用的页面先被淘汰出去
    D. 访问次数很少的优先淘汰

    正确答案:B
    解析:1.最佳置换算法(OPT)(理想置换算法):从主存中移出永远不再需要的页面;如无这样的页面存在,则选择最长时间不需要访问的页面。于所选择的被淘汰页面将是以后永不使用的,或者是在最长时间内不再被访问的页面,这样可以保证获得最低的缺页率。

    最佳置换算法可以用来评价其他算法。假定系统为某进程分配了三个物理块,并考虑有以下页面号引用串:
    7, 0, 1, 2, 0, 3, 0, 4, 2, 3, 0, 3, 2, 1, 2, 0, 1, 7, 0, 1
    进程运行时,先将7, 0, 1三个页面依次装入内存。进程要访问页面2时,产生缺页中断,根据最佳置换算法,选择第18次访问才需调入的页面7予以淘汰。然后,访问页面0时,因为已在内存中所以不必产生缺页中断。访问页面3时又会根据最佳置换算法将页面1淘汰

    2.先进先出置换算法(FIFO):是最简单的页面置换算法。这种算法的基本思想是:当需要淘汰一个页面时,总是选择驻留主存时间最长的页面进行淘汰,即先进入主存的页面先淘汰。其理由是:最早调入主存的页面不再被使用的可能性最大。

    3.最近最久未使用(LRU)算法:这种算法的基本思想是:利用局部性原理,根据一个作业在执行过程中过去的页面访问历史来推测未来的行为。它认为过去一段时间里不曾被访问过的页面,在最近的将来可能也不会再被访问。所以,这种算法的实质是:当需要淘汰一个页面时,总是选择在最近一段时间内最久不用的页面予以淘汰。再对上面的实例釆用LRU算法进行页面置换,如图3-29所示。进程第一次对页面2访问时,将最近最久未被访问的页面7置换出去。然后访问页面3时,将最近最久未使用的页面1换出。

  12. 从一个大量整数中找出最大的10个数,以下使用最优的算法是()

    A. 最大堆算法
    B. 快速排序
    C. 冒泡算法
    D. 选择排序

    正确答案:A

  13. 关于进程和线程描述正确的是?

    A. 进程间切换比线程间切换开销大
    B. 进程是系统进行资源分配和调度的一个独立单位
    C. 线程可以可与同属一个进程的其他的线程共享进程所拥有的全部资源
    D. 其他选项都对

    正确答案:D
    解析: 可参考:https://imweb.io/topic/58e3bfa845e5c13468f567d5

  14. 以下代码,在最上层的是:
    < div style=“z-index: 1;”> < div style=“z-index: 3;”>a< /div>< /div>
    < div style=“z-index: 1;”>< div style=“z-index: 3;”>b< /div>< /div>
    < div style=“z-index: 2;”>c< /div>
    < div style=“z-index: 1;”>d< /div>

    A. a
    B. b
    C. c
    D. d

    正确答案:c
    解析:c的index值在父级节点中是最大的,a虽然大但是他的父级要比c小,这题目应该不太严谨,z-index需要在定位元素上才生效。

  15. 以下哪个选项是标签的属性?

    A. method
    B. action
    C. method 和 action 都是
    D. 其他选项都不是

    正确答案:C
    解析:action是放表单提交的地址的
    method是表单数据提交给服务器时, http协议的发送方法

  16. 下面那个选项设置web页面的背景颜色?

    A. < body background=“color-name”>
    B. < body backgroundcolor=“color-name”>
    C. < body bg-color=“color-name”>
    D. < body bgcolor=“color-name”>

    正确答案:D

  17. 以下哪个是伪元素?

    A. :focus
    B. :hover
    C. :active
    D. :before

    正确答案:D
    解析:可参考: https://www.w3school.com.cn/css/css_pseudo_elements.asp

  18. 以下代码在控制台的运行结果是什么?
    console.log([1,undefined,3,5].map((_, n) => n))

    A. [1,0,3,5]
    B. [1,undefined,3,5]
    C. [0,empty,2,3]
    D. [0,1,2,3]

    正确答案:D
    解析:map方法是JavaScript数组的方法, 可以有三个参数,参数位置固定的, (当前值, 下标 , 数组), 当前值是必须填的, 如果不想填, 可以用_代替,这里的n代表下标。

  19. 以下表达式值为 true 的是?

    A. new Date() === new Date()
    B. null === null
    C. NaN === NaN
    D. [] === []

    正确答案:B
    解析:==="叫做严格运算符.
    两个复合类型(对象、数组、函数)的数据比较时,不是比较它们的值是否相等,而是比较它们是否指向同一个对象。
    undefined 和 null 与自身严格相等。
    同一类型的原始类型的值(数值、字符串、布尔值)比较时,值相同就返回true,值不同就返回false。

  20. 以下代码的输出结果是:
    var o = { a: 1 };
    Object.defineProperty(o, “b”, {value: 2, writable: false, enumerable: false, configurable: true});
    o.a = 2;
    o.b = 3;
    console.log(o.a, o.b);

    A. 1 3
    B. 2 2
    C. 2 3
    D. 1 2

    正确答案:B
    解析:Object.defineProperty()方法的参数有三个(对象名, 属性名, 属性值的限制条件)
    属性值的限制条件是个对象, {value:属性值, writable:属性值是否能被修改, enumerable:属性值能否被遍历, configurable:属性值能否被删除}
    属性值的限制条件是个对象里有两个方法,get和set, get是限制你获取属性时的返回值, set在你修改属性值时自动执行, 如果使用这个两个函数, 不允许使用writable和value这两个属性

不定项选择题

  1. 关于cookie,以下说法正确的是( )

    A. cookie值存在客户端
    B. js通过document.cookie来读取cookie,通过document.cookie=’'来清除cookie;
    C. cookie可以设置失效时间
    D. 通常,浏览器的cookie功能是启用状态

    正确答案:ACD
    解析:不能直接删除用户计算机中的 Cookie。但是,可以通过将 Cookie 的到期日期设置为过去的日期,让用户的浏览器来删除 Cookie.
    用 expires=Thu, 01 Jan 1970 00:00:00 GMT" 就行

  2. 在Webpack中,哪些loader是用来处理LESS的?

    A. url-loader
    B. css-loader
    C. less-loader
    D. style-loader

    正确答案:BCD

  3. 以下关于超文本传输安全协议说法中正确的说法有

    A. 使用非对称加密算法进行数据传输
    B. 使用对称加密算法进行数据传输
    C. 非对称加密和对称加密都使用了
    D. 其他

    正确答案:C
    解析:HTTPS是在HTTP的基础上增加了SSL层,服务器和客户端传输数据前先采用非对称加密算法生产一个秘钥,再用这个秘钥使用对称加密算法加密要传输的数据,这样做即保证了秘钥的安全,有提高了数据加密效率。

  4. 以下选项中不会让元素完全从渲染树中消失,渲染元素继续占据空间的是?

    A. display:none;
    B. visibility:hidden;
    C. opacity:0
    D. overflow:hidden

    正确答案:BCD
    解析:display:none 不只是隐藏标签, 是删除标签, 其他都只是隐藏

  5. 以下哪些,可以当作head的子标签?

    A. script
    B. style
    C. meta
    D. link

正确答案:ABCD

  1. 以下关于 ES6 中 Symbol 的描述正确的是?

    A. Symbol 是一种 JS 原始数据类型
    B. Symbol(“a”) === Symbol(“a”) 的结果为 true
    C. Symbol.for(“a”) === Symbol.for(“a”) 的结果为 true
    D. Symbol() instanceof Object 结果为 true

    正确答案:AC
    解析:选A不选D的原因:
    Symbol是ES6新出基本数据类型, 所以Symbol()的类型是Symbol, 所以Symbol()instanceof Object 结果应该为 false
    选B的原因:
    Symbol的作用是代替字符串充当对象的属性名, 避免了命名冲突, 避免替换掉对象原有的属性. 因为每一个Symbol都是独一无二的, 所以给对象添加新属性时, 不用管对象有没有同名属性. 所以Symbol(“a”) === Symbol(“a”) 是为 false的.
    选C的原因:
    通过symbol.for()方法定义symbol的值,会在全局注册一个key=symbol的键值对, 所以Symbol.for(“a”) === Symbol.for(“a”) 的结果为 true

  2. 以下代码的返回结果包含哪些值 ( )
    Object.assign( { ar: [1,2,3]}, { ar: [2,3,4] } )

    A. 1
    B. 2
    C. 3
    D. 4

    正确答案:BCD
    解析:Object.assign()方法用来合并对象的, 会把两个及两个以上对象里的属性和方法都放到一个对象里, 如果后面的对象的属性名相同, 后面的属性值会覆盖前面的属性值。
    这道题ar是属性名, 属性值是数组, 因为属性名相同, 所以后一个数组就直接覆盖掉前一个数组

  3. 操作系统的基本特征有?

    A. 并发性
    B. 共享性
    C. 安全性
    D. 开放性

    正确答案:AB
    解析:计算机四大基本特性,并发,共享,虚拟,异步

  4. 常见的负载均衡算法有?

    A. 随机法
    B. 轮询
    C. 加权轮询
    D. 一致性哈希

    正确答案:ABCD
    解析:负载均衡(Load Balance)是指将负载(工作任务)进行平衡、分摊到多个操作单元上进行运行,提供了一种廉价有效透明的方法扩展网络设备和服务器的带宽、增加吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性。

  5. 常见的缓存淘汰算法有?

    A. LFU
    B. LRU
    C. CAS
    D. FIFO

    正确答案:ABD
    解析:LFU:
    最少访问算法,根据访问缓存的历史频率来淘汰数据,核心思想是“如果数据在过去一段时间被访问的次数很少,那么将来被访问的概率也会很低”。
    LRU:
    最近最久未使用算法。这种算法的基本思想是:利用局部性原理,根据一个作业在执行过程中过去的页面访问历史来推测未来的行为。它认为过去一段时间里不曾被访问过的页面,在最近的将来可能也不会再被访问。所以,这种算法的实质是:当需要淘汰一个页面时,总是选择在最近一段时间内最久不用的页面予以淘汰
    FIFO:
    是最简单的页面置换算法。这种算法的基本思想是:当需要淘汰一个页面时,总是选择驻留主存时间最长的页面进行淘汰,即先进入主存的页面先淘汰。其理由是:最早调入主存的页面不再被使用的可能性最大。
    CAS是无锁的非阻塞算法。

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值