自我介绍
1、了解oracle吗,他是如何建索引的
在表的col1和col2列创建索引。
create index 索引名 on tbl_name (col1,col2)
2、webxml中servlet和servletmapping是什么关系
包含关系,servlet包含servletmapping
3、Linux复制文件的命令是什么
cp命令是复制文件(我说成了copy)
4、栈和队列区别
栈是先进后出,队列是先进先出
栈在栈顶进行插入删除数据,队列是在队尾进行插入,在队首进行删除
5、说一下工厂模式
(脑袋就只想到了类图)
工厂模式:
– 实现了创建者和调用者的分离。
– 详细分类:
• 简单工厂模式
• 工厂方法模式
• 抽象工厂模式
• 面向对象设计的基本原则:
– OCP(开闭原则,Open-Closed Principle):一个软件的实体应当对扩展开
放,对修改关闭。
DIP(依赖倒转原则,Dependence Inversion Principle):要针对接口编程,
不要针对实现编程。
LoD(迪米特法则,Law of Demeter):只与你直接的朋友通信,而避免和
陌生人通信。
• 核心本质:
– 实例化对象,用工厂方法代替new操作。
– 将选择实现类、创建对象统一管理和控制。从而将调用者跟我们的实
现类解耦。
• 工厂模式:
– 简单工厂模式
• 用来生产同一等级结构中的任意产品。(对于增加新的产品,需要修改已
有代码)
– 工厂方法模式
• 用来生产同一等级结构中的固定产品。(支持增加任意产品)
– 抽象工厂模式
• 用来生产不同产品族的全部产品。(对于增加新的产品,无能为力;支持
增加产品族)
6、 左外连接的SQL语句如何写
select *from table1_name left join table2_name on tbl_name1.xx=tbl_name2.xx;
7、MySQL怎样复制一张表,包括表结构与数据
只会oracle的,不知道mysql和oracle的一样不(好像差不多嘛)
CREATE TABLE 新表
SELECT * FROM 旧表
8、主键和unique的区别
关系:主键=NOT NULL +UNIQUE键的结合;
NOT NULL和UNIQUE约束最好的结合。如果这些列没有被明确地定义为NOT NULL,MySQL会隐含地定义这些列。
区别:
(1) 唯一性约束所在的列允许空值,但是主键约束所在的列不允许空值。
(2) 可以把唯一性约束放在一个或者多个列上,这些列或列的组合必须有唯一的。但是,唯一性约束所在的列并不是表的主键列。
(3) 唯一性约束强制在指定的列上创建一个唯一性索引。在默认情况下,创建唯一性的非聚簇索引,但是,也可以指定所创建的索引是聚簇索引。
(4)建立主键的目的是让外键来引用.
(5)一个表最多只有一个主键,但可以有很多唯一键
9、 垃圾回收机制
是回收无用内存空间,判断一个对象是否为垃圾有两种方法(引用计数法,可达性分析法),是垃圾的话,进行gc清除。新生代才有复制算法,老年代采用标记整理
10、jdbc的连接步骤
加载驱动(classforName),获取连接(Drivermanager.getConnection()),创建声明对象statement,执行sql,关闭连接
11、笛卡尔积
表一2条数据,表2三条数据,最终做笛卡尔积是6条数据
12、说一下你所了解的算法(问我同学的)
贪心算法:不是整体最优,而是局部最优选择,具有贪心选择性质,最优子结构性质
动态规划:最优子结构性质,子问题重叠性质
排序算法:快排,冒泡等等
分治策略:将一个规模为n的问题分解成k个规模较小的子问题,这些子问题相互独立且与原问题相同,递归的解决这些子问题,然后将各个子问题的解合并得到原问题的解。
13、MongoDB数据库(仅局限于了解)
类似于键值对存储数据,非关系型数据库