面试官的问题:
问1.面向对象的三大特性?
2.多态是如何实现的?
3.基本数据类型?
4.哪些类型可以隐式转换为int型?
5.包装类?
6.jsp了解吗?
7.hashtable和hashmap的区别(继承的类、线程安全、key-value是否允许空值、数组初始化和扩容方式)?
8.sql语句了解哪些?
9.主键和外键的区别?
10.第一范式?
11数据持久层了解吗?索引?
答1.封装继承多态
2.静态多态通过方法重载实现;动态多态通过方法覆盖实现:两个类存在继承关系;子类对父类的方法进行重写(存在同名同参的函数);父类引用指向子类对象。
3.字节型:byte;
整型:short、int、long;
浮点型:float、double;
字符型:char;
布尔型:boolean。
4.byte、char、short。
5.Integer、Character、Short、Byte、Long、Boolean、Float、Double。
6.不了解。
7.hashtable:继承于Dictionary;方法加入了Synchronize,线程安全;不允许null值;数组初始化大小为11,扩容方式为2n+1;hashmap:继承于AbstractMap;不是线程安全的;允许null值;数组初始化大小为16,扩容方式为2n。
8.select语句:select 列名 from 表名 where 条件
update语句:update 表名 set 列名 = 表达式(,列名 = 表达式……)where 条件
delete语句:delete from 表名 where 条件
insert语句:insert into 表名(字段1,字段2……)values (字段1,字段2……)
9.主键:能够唯一标识表中每一行的字段或字段组,一张表只能有一个主键,用于维持数据完整性,主键的值不能重复,不能为空;外键:用于与另一张表的关联,能够作为另一张表的主键,一张表可以有多个外键,用于保持数据一致性,外键可以重复,可以为空。
10.1NF:表的每一列都是不可分割的最小单元,保证列的原子性;
2NF:表中的非主属性完全依赖于码;
3NF:不存在非主属性对码的部分和传递函数依赖;
BCNF:不存在主属性对码的部分和传递函数依赖;
4NF:消除非平凡且非函数依赖的多值依赖。
11.不了解。