京东2018校园招聘面试题学习

今天早上面试了京东,分享并重温一下期中的知识点:

1.Java中Integer型和int型的区别:

    a.Java 中的数据类型分为基本数据类型和引用数据类型。int是基本数据类型,直接存放值,而而Integer是对象,用一个引用指向这个对象。Ingeter是int的包装类,int的初值为0,Ingeter的初值为null。

    b.初始化 

int i =1;
Integer i= new Integer(1);
  有了自动装箱和拆箱,使得对Integer类也可使用:
Integer i= 100;

  实际上上面这个代码调用了:

Integer i = Integer.valueOf(100); 

    c.Integer是int的封装类,int和Integer都可以表示某一个数值,int和Integer不能够互用,因为他们两种不同的数据类型;

2.接口可以继承接口吗?抽象类可以继承接口吗?

  接口不仅可以继承接口,而且一个接口可以继承多个接口,接口是特殊的抽象类。

  抽象类不可以继承接口,但可以实现接口。抽象类可以继承实体类,但是不能继承接口

3.数据库索引的作用

优点:创建索引主要可以大大提高系统性能,主要优势有以下5点:

  • 通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性。
  • 可以大大加快 数据的检索速度,这也是创建索引的最主要的原因。
  • 可以加速表和表之间的连接,特别是在实现数据的参考完整性方面特别有意义。
  • 在使用分组和排序 子句进行数据检索时,同样可以显著减少查询中分组和排序的时间。
  • 通过使用索引,可以在查询的过程中,使用优化隐藏器,提高系统的性能。

缺点:

  • 创建索引和维护索引要耗费时间,这种时间随着数据 量的增加而增加。 
  • 索引需要占物理空间,除了数据表占数据空间之外,每一个索引还要占一定的物理空间,如果要建立聚簇索引,那么需要的空间就会更大。 
  • 当对表中的数据进行增加、删除和修改的时候,索引也要动态的维护,这样就降低了数据的维护速度。

索引主要有两个特征:唯一性索引和复合索引。

4.如何修改数据库中的字段类型

  ALTER TABLE 表名  MODIFY COLUMN 字段名 字段类型定义;(注意不是update)

5.having的作用

  HAVING 就像WHERE条件一样,按指定要求来取数据集。只不过WHERE一般数据查询来指定条件,HAVING是用在GROUP BY 分组来指定条件。HAVING 子句运做起来非常象 WHERE 子句, 只用于对那些满足 HAVING 子句里面给出的条件的组进行计算。 其实,WHERE 在分组和聚集之前过滤掉我们不需要的输入行, 而 HAVING 在 GROUP 之后那些不需要的组. 因此,WHERE 无法使用一个聚集函数的结果. 而另一方面,我们也没有理由写一个不涉及聚集函数的 HAVING. 如果你的条件不包含聚集,那么你也可以把它写在 WHERE 里面, 这样就可以避免对那些你准备抛弃的行进行的聚集运算.

6.快速排序与归并排序的区别

  归并排序:简单来说就是先将数组不断细分成最小的单位,然后每个单位分别排序,排序完毕后合并,重复以上过程最后就可以得到排序结果。复杂度:O(nlogn)   稳当
  快速排序:简单来说就是先选定一个基准元素,然后以该基准元素划分数组,再在被划分的部分重复以上过程,最后可以得到排序结果。           复杂度:O(nlogn)   不稳定
两者都是用分治法的思想,不过最后归并排序的合并操作比快速排序的要繁琐。

7.final关键词作用有哪些?

  final修饰类,类不能被继承

  final修饰方法,方法不能被覆写

  final修饰的变量初始化后则不能被修改。

8.servlet里面有哪些方法?说一说get和post方法的区别.

  init() 、destroy() 、service()等。 

  在servlet开发中,以doGet()和doPost()分别处理get和post方法。另外还有一个doService(),  它是一个调度方法,当一个请求发生时,首先执行doService(),不管是get还是post。在HttpServlet这个基类中实现了一个角度,首先判断是请求时get还是post,如果是get就调用doGet(),  如果是post就调用doPost()。你也可以直接过载doService()方法,这样你可以不管是get还是post。都会执行这个方法。   

   get和post方法的区别:

参考博客:http://www.cnblogs.com/yxnchinahlj/archive/2012/10/23/2735446.html

9.线性表的的顺序存储与链式存储的特点

a)顺序存储结构:

优点:

  • 随机读取(时间复杂度为O(1))
  • 无需为表示表中元素之间的逻辑关系而增加额外的存储空间

缺点:

  • 插入、删除操作需要移动大量元素,效率低(时间复杂度为O(n));
  • 表的长度难以确定

b)链式存储结构. 

优点:

  • 插入、删除不需要移动数据,效率高(时间复杂度为O(1));

缺点:

  • 存取时需要遍历,效率低(时间复杂度为O(n));

顺序存储结构一般用于:频繁查找,很少插入、删除;而链式存储结构一般用于频繁插入、删除;


你可能感兴趣的:(校园招聘,java,编程,校园招聘,京东,面试)