天天看点

2020春招-笔试题汇总

1、阅读如下js代码:

var a1 = [1, 2, 12];

var a2 = [4, 23];

a1.concat(a2);

a1.sort();

alert(a1.join(";"));

代码运行后,alert 方法弹出的内容为:( )。

解析:concat() 方法用于连接两个或多个数组,它不会改变现有的数组,而仅仅会返回被连接数组的一个副本。此时变成[1,2,12,4,23];而sort() 方法用于对数组的元素进行排序,不生成副本。a1.join(";")表示将a1中的元素用 ; 连接形成字符串,故此时a1=[1 ,2,4,12,23]。

2、HTTP状态码的含义

  • 200 OK :请求已成功,请求所希望的响应头或数据体将随此响应返回。表示正常状态。
  • 400 Bad Request :1、语义有误,当前请求无法被服务器理解。除非进行修改,否则客户端不应该重复提交这个请求。2、请求参数有误。
  • 403 Forbidden :服务器已经理解请求,但是拒绝执行它。
  • 404 Not Found :请求失败,请求所希望得到的资源未被在服务器上发现。
  • 500 Internal Server Error :服务器遇到了一个未曾预料的状况,导致了它无法完成对请求的处理。一般来说,这个问题都会在服务器端的源代码出现错误时出现。

3、CSS优先级排序:

  • 层叠优先级: 内联样式表 > 嵌入样式表 > 外部样式表
  • 选择器优先级:!important >内联样式> id > class > tag

4、Cookie依赖Session存在吗?他俩有关系吗?如果有,是有什么关系?

解析:https://blog.csdn.net/weixin_39746740/article/details/84104459

5、关闭页面后sessionStorage 还能存在多长时间?

2020春招-笔试题汇总

6、阅读以下js代码:

function a(xx) {

this.x = xx;

return this;

};

var x = a(5);

var y = a(6);

console.log(x.x)

console.log(y.x)

请选择console的执行结果:()。

解析:谁调用该函数,里面的this指向谁,a()是放在全局环境中调用的,this指向的window。过程如下:

  1. var x = a(5);

    执行过程:

    函数内部相当于执行window.x = 5,然后返回window对象。

    var x = window 就相当于window.x = window;

  2. var y = a(b);

    执行过程:

    函数内部相当于执行window.x = 6,然后返回window对象。

    var y = window。(执行完后window.x = 6了而不是原来的window.x = window了)

  3. console.log(x.x) 就相当于 window.x.x 目前window.x是等于6的,6是没有x属性的,所以打出undefined.

    console.log(y.x) 就相当于window.x = 6

7、Web应用性能优化

https://blog.csdn.net/zazzh007/article/details/87883832

8、vue的生命周期,执行顺序正确的是:()

beforeCreate -> beforeMount -> beforeUpdate -> beforeDestroy,具体如下图:

2020春招-笔试题汇总

9、vue模板渲染优先级

render函数选项 >template选项 > outer HTML

https://blog.csdn.net/jiang7701037/article/details/83178630

https://www.cnblogs.com/greatdesert/p/11011485.html

10、关于typescript在vue中的应用

https://segmentfault.com/a/1190000015534567

11、vue中数据响应式原理

https://www.jianshu.com/p/4dff7c2cdaaa

12、 以下关于Javascript执行引擎描述正确的是:()。

A、 ECMAScript 2015中规定了执行引擎需要实现EventLoop机制。

B、V8作为最先进的Javascript执行引擎,可以在执行阶段对所有代码进行优化。

C、Node.js通过V8实现异步I/O。

D、 Node.js的Buffer类型对象在创建时内存不会分配到V8堆上。

E、 Chakra是Firefox内嵌的Javascript执行引擎。

F、 代码正确的情况下,垃圾回收不会导致有内存无法回收。

解析:

  • 执行阶段,V8会先生成字节码(快),再在运行过程中逐步将高频函数转化成优化后的机器码(慢)。相关资料https://juejin.im/post/5b30426c51882574e94f079a
  • Node.js通过libuv抽象封装层不同平台使用不同方法实现异步I/O,windows是IOCP,*nix是自定义线程池(详情可参考《深入浅出nodejs》第三章)。
  • Node的Buffer模块性能相关部分有C++实现,所以Buffer对象的内存分配不是在V8的堆内存中,而是在Node的C++层面实现内存申请的(详情可参考《深入浅出nodejs》第六章)。
  • Chakra是IE的js引擎,Firefox的js引擎是SpiderMonkey。

https://www.cnblogs.com/chengxs/p/10368105.html

13、对于解构一下说法错误的是:()。

A 、不完全结构,也会成功,不会报错。

B、只要支持Iterator接口,都可以被结构赋值。

C 、null可以替代默认值,而成功的结构赋值。

D、结构中不定参数可以出现在除第一个以外的其它的其他位置。

E、解构是先找到同名的属性,然后再赋给对应的变量。

F、默认值可以引用结构赋值的其他变量,但该变量必须已经声明。

解析:

  • 结构赋值的默认值只对undefined有效。
  • 不定参数只能出现在最后一个位置。

14、关于sleep()和wait(),以下描述错误的一项是(D )

A 、sleep是线程类(Thread)的方法,wait是Object类的方法;

B、sleep不释放对象锁,wait放弃对象锁

C 、sleep暂停线程、但监控状态仍然保持,结束后会自动恢复

D、wait后进入等待锁定池,只有针对此对象发出notify方法后获得对象锁进入运行状态

https://blog.csdn.net/xiamiflying/article/details/85058410

15、异常(Exception)

https://blog.csdn.net/u014401141/article/details/52984853

https://blog.csdn.net/lewky_liu/article/details/78160537?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task

16、事务的持续性是指?(B)。

A 、事务中包括的所有操作要么都做,要么不做

B、事务一旦提交,对数据库的改变时永久的

C 、一个事务内部的操作及使用的数据对并发的其他事务是隔离的

D、事务必须是使数据库从一个一致性状态变到另一个一致性状态

解析:数据库的ACID性质:

1.原子性(ATOMIC):整个事务中的所有操作,要么全部完成,要么全部不完成,不可能停滞在中间某个环节。事务在执行过程中发生错误,会被回滚(Rollback)到事务开始前的状态,就像这个事务从来没有执行过一样。

2.一致性(Consistency)在事务开始之前和事务结束以后,数据库的完整性约束没有被破坏。

3.隔离性(Isolation)两个事务的执行是互不干扰的,一个事务不可能看到其他事务运行时,中间某一时刻的数据。

4.持久性(Durability)在事务完成以后,该事务所对数据库所作的更改便持久的保存在数据库之中,并不会被回滚。

17、下面有关sql绑定变量的描述,说法错误的是?()。

A 、绑定变量是指在SQL语句中使用变量,改变变量的值来改变SQL语句的执行结果

B、使用绑定变量,可以减少SQL语句的解析,能减少数据库引擎消耗在SQL语句解析上的资源

C 、使用绑定变量,提高了编程效率和可靠性,减少访问数据库的次数

D、使用绑定变量,查询优化器会预估的比字面变量更加真实

解析: D,绑定变量被使用时,查询优化器会忽略其具体值,因此其预估的准确性远不如使用字面量值真实。

https://blog.csdn.net/maray/article/details/7663598

18、数据冗余

https://www.cnblogs.com/smile-xyy/p/8811736.html

19、下列哪个方法可用于创建一个可运行的类 ( )。

A.public class X implements Runable {public void run(){...,.,}}

B.public class X implements Thread {public void run(){......}}

C.public class X implements Thread {public int run(){……}}

D.public class X implements Runable {protected void run(){.....}}

解析:选A.

20、下列函数是public void method(){…}的重载函数有()?

A:public void method(int m){…}

B:public int method(){…}

C:public void method2(){…}

D:public int method(int m,float f){…}

解析:选AD。重载函数要求函数必须同名,必须参数数量或者参数类型不同,与修饰符和返回值无关。

21、下面关于java.lang.Exception类的说法正确的是()

A 、继承自Throwable

B、 Serialable

答案:A

解析:Java异常的基类为java.lang.Throwable,java.lang.Error和java.lang.Exception继承 Throwable,RuntimeException和其它的Exception等继承Exception,具体的RuntimeException继承RuntimeException。

扩展:错误和异常的区别(Error vs Exception)

  1. java.lang.Error: Throwable的子类,用于标记严重错误。合理的应用程序不应该去try/catch这种错误。绝大多数的错误都是非正常的,就根本不该出现的。

    java.lang.Exception: Throwable的子类,用于指示一种合理的程序想去catch的条件。即它仅仅是一种程序运行条件,而非严重错误,并且鼓励用户程序去catch它。

  2. Error和RuntimeException 及其子类都是未检查的异常(unchecked exceptions),而所有其他的Exception类都是检查了的异常(checked exceptions).

    checked exceptions: 通常是从一个可以恢复的程序中抛出来的,并且最好能够从这种异常中使用程序恢复。比如FileNotFoundException, ParseException等。检查了的异常发生在编译阶段,必须要使用try…catch(或者throws)否则编译不通过。

    unchecked exceptions: 通常是如果一切正常的话本不该发生的异常,但是的确发生了。发生在运行期,具有不确定性,主要是由于程序的逻辑问题所引起的。比如ArrayIndexOutOfBoundException, ClassCastException等。从语言本身的角度讲,程序不该去catch这类异常,虽然能够从诸如RuntimeException这样的异常中catch并恢复,但是并不鼓励终端程序员这么做,因为完全没要必要。因为这类错误本身就是bug,应该被修复,出现此类错误时程序就应该立即停止执行。 因此,面对Errors和unchecked exceptions应该让程序自动终止执行,程序员不该做诸如try/catch这样的事情,而是应该查明原因,修改代码逻辑。

    RuntimeException:RuntimeException体系包括错误的类型转换、数组越界访问和试图访问空指针等等。

    处理RuntimeException的原则是:如果出现 RuntimeException,那么一定是程序员的错误。例如,可以通过检查数组下标和数组边界来避免数组越界访问异常。其他(IOException等等)checked异常一般是外部错误,例如试图从文件尾后读取数据等,这并不是程序本身的错误,而是在应用环境中出现的外部错误。

22、下列哪种异常是检查型异常,需要在编写程序时声明 ()

A、NullPointerException

B、ClassCastException

C、FileNotFoundException

D、 IndexOutOfBoundsException

答案:C

解析:看第21题的解析。

23、下列属于关系型数据库的是()

A、 Oracle

B、 MySql

C、 IMS

D、 MongoDB

答案:AB

解答:IMS(Information Management System )数据库是IBM公司开发的两种数据库类型之一;

一种是关系数据库,典型代表产品:DB2;

另一种则是层次数据库,代表产品:IMS层次数据库。

非关系型数据库有MongoDB、memcachedb、Redis等。

24、要删除表tb中数据,使用TRUNCATE TABLE tb。运行结果是?

https://www.cnblogs.com/zhangwuji/p/8303353.html