数据库
- 游标
存储过程里面类似于指针的 - 手写创建数据库并更新
create database xxx;
create table offer(name varcher(30),salary int(10),address varcher(35));
insert into offer values("恒生",10000,"滨江xx路xxx号");
update offer set salary=12000 where name="恒生";
delete from offer where name = "恒生";
select * from offer;
delete from offer;
drop table offer;
drop database xxx;
展示所有表
show tables;
看table的字段
desc 具体table名字;
看表里面的数据:
select * from 表名;
- 内联外联
内联:
[图片上传中。。。(1)]
左外联:
[图片上传中。。。(2)]
右外联:
[图片上传中。。。(3)]
mysql中full join不能使用:
可以使用:
- view视图
- 事务属性
- A原子性 - 要做
- C一致性 -
- I 独立性 -
- D持久性 -
- 数据库分页
select * from student limit 10 offset 10;
1页4个,取第二页
[图片上传中。。。(4)]
- SQL语句
- oracle 数据库
java
- String、Stringbuilder、Stringbuffer区别,之间的转换
- String : 字符串常量,字符串长度不可变
- StringBuilder :字符串变量(非线程安全)。在内部,StringBuilder对象被当作是一个包含字符序列的变长数组。java.lang.StringBuilder是一个可变的字符序列,是JDK5.0新增的。此类提供一个与 StringBuffer 兼容的 API,但不保证同步。该类被设计用作 StringBuffer 的一个简易替换,用在字符串缓冲区被单个线程使用的时候(这种情况很普遍)。
- StringBuffer:字符串变量(synchronized,即线程安全),如果要频繁地修改字符串,最好使用它。
想转换成String,可以调用StringBuffer的toString()方法
在大部分情况下,StringBuilder > StringBuffer。这主要是由于前者不需要考虑线程安全。
- 集合有哪些,ArrayList和数组之间的转换,集合遍历,Map的优点,Map的遍历
- Set
- HashSet
- TreeSet
- List
- vector(线程安全)
- LinkList(不安全)
- ArrayList(不安全)
- Map(键值对)
- HashMap
- TreeMap
- ArrayList和数组之间的转换
- 1LIST----->数组
for(int i=0;i<list.size();i++){
array[i]=(String)list.get(i);
}
- 2
String[] array = (String[])list.toArray(new String[size]);
- 3数组-----> LIST
List<String> list=new ArrayList<String>();
for(int i=0;i<array.length;i++){
list.add(array[i]);
}
- 4
List<String> list=Arrays.asList(array);
- 集合遍历:
//方法一:通过下标遍历
for (int i = 0; i < list.size(); i++) {
System.out.println(list.get(i));
}
//方法二:Iterator迭代器遍历
Iterator<String> itr = list.iterator();
while(itr.hasNext()){
String str = itr.next();
System.out.println(str);
}
- Map的优点:
- Map的遍历
- 线程的创建方式,线程的同步和异步,线程一般用在什么地方
继承Thread
接口 Runanble
采用实现Runnable、Callable接口的方式创见多线程时,优势是:
线程类只是实现了Runnable接口或Callable接口,还可以继承其他类。
在这种方式下,多个线程可以共享同一个target对象,所以非常适合多个相同线程来处理同一份资源的情况,从而可以将CPU、代码和数据分开,形成清晰的模型,较好地体现了面向对象的思想。
劣势是:
编程稍微复杂,如果要访问当前线程,则必须使用Thread.currentThread()方法。
使用继承Thread类的方式创建多线程时优势是:
编写简单,如果需要访问当前线程,则无需使用Thread.currentThread()方法,直接使用this即可获得当前线程。
劣势是:
线程类已经继承了Thread类,所以不能再继承其他父类
hashmap底层实现
散列链表,table数组,存一个entry的内部类,内部类里面存key、value、next、以及hash值抽象类和接口区别
抽象 单继承
接口 继承多个SSM框架
spring springmvc mybatismysql的存储引擎
innoDBhibernate和mybatis的各自优缺点
Tomcat的部署和结构
打开网页,网页运行的流程
jquery懂哪些,到什么程度
你在平时遇到哪些异常,如何解决
异常的顺序
final、finally、finalize
23种设计模式
泛型是什么,优点
类型安全重载和重写
static的 用法
abstract
怎样提高反射的效率。
过滤器和拦截器的区别,
hashmap是线程不安全的,为什么不让他变成线程安全。
变成线程安全是有代价的,因为线程安全要加锁,会造成排队,代码执行效率就会变慢,在不必要的情况下,就不用线程安全。如果要做到线程安全,可以使用ConcurrentHashMap。
- 什么是(递包) 内连和外连的区别以及使用场景。 怎样防止表单重复提交。
- servlet是线程安全的吗
未面到,自己想的一些题
- 写一个线程的死锁
- 同步锁。。。xxx。。。用的地方,放的位置,作用域
数据结构
- 红黑树
- 队列和栈的实际应用场景,优缺点
jsp
- jsp的九大内置对象
servlet
- servlet四大作用域
page、session、
- 你在这公司是做什么的,为什么要跳槽
- 毕业时间
- 薪资期望
- 你现在做这个项目的整个流程,你现在负责的是哪一块
补充
- 接口中能有静态代码块吗?能有静态方法吗?为什么?
jdk8以后是可以的 - Junit单元测试的好处
自动化 - 线程的好处,优缺点
恒天面试2017/4/7
- 你知道有哪些集合?list、set、map的底层数据结构是什么样的
- ArrayList和linklist的区别
- map的遍历
- 手写一个单例模式/双例模式
- 线程死锁、线程中涉及到的类、关键字
- 同步代码块和同步函数的区别
- 平常什么地方用到多线程
- 数据库给了学生表和通过sql语句查询到的学生的总成绩、排序、修改某一门课的成绩、分组等的结果表,写SQL语句
- js和java的区别
- jQuery平常是怎么使用的,平常使用了哪些方法
- debug测试,比如a+b,a=3,b=4,如何调试
- tomcat底下的文件和作用
- 关于异常方面的问题,try/catch/finally的几种结构,catch能不能不写,trycatch里面如果有return,那么执行的顺序是什么?
- MVC和三层开发架构的理解表现层,业务逻辑,dao
- 接口,定义接口的作用,什么时候使用接口
- SpringIOC的理解,spring框架中运用到的设计模式有哪些
- 介绍一下自己的项目
- 四级过了没有?能不能读懂英文文档
- 你见到过哪些异常,编译期异常,运行期异常
java中创建对象的方法:
new、反射、bean工厂、clone