那些年我遇到的面试题


  1. String可以被继承吗?
    答:是不可以的,String是被final修饰的类,java规范中,被final修饰的类都不可以被继承
  2. OOP的五大原则
    答:单一职责原则、开放闭合原则、里氏替换原则、依赖倒置原则、接口隔离原则,参考:点击打开链接
  3. 抽象类可以继承普通类吗?
    答:是的可以继承实体类的,抽象类不能实例化,抽象类也可以实现接口,接口可以继承一个或多个接口,但不能实现接口
  4. switch参数类型
    答:参数值类型必须是这几种类型之一:int,byte,char,short,在jdk1.7之后新增了String类型,在jdk1.7一下版本可用枚举类型实现字符串类型的判断,参考:点击打开链接
  5. final,finally,finalize的区别,参考:点击打开链接
  6. try...catch...finally语句中,如果再try中有return,那么return和finally中的代码是他们的顺序怎么执行的,
    答:会先执行return,但不会立即返回,会把返回值保存起来,待执行完finally中的代码才会把值返回,参考:点击打开链接
  7. 抽象类和接口的区别
    答:参考:点击打开链接
  8. 依赖注入的方式
    答:1、构造函数注入,2、setter注入,3、接口注入
  9. 重写和重载的区别
    答:参考:点击打开链接
  10. 构造函数可以重写吗?
    答:不可以重写,但是可以重载
  11. String str2 = new String("abc");创建了几个对象
    答:要看字符串abc有没有被定义过,比如String str="abc";String str2 = new String("abc");这样就只创建了一个对象,否则就是两个
  12. 错误和异常的区别
    答:参考:点击打开链接
  13. jsp和servlet的关系
    答:参考:点击打开链接
  14. oracle select * from xxx where rownum>10;xxx百万级数据量,该语句能查到多少条记录?
    答:查到的是一个空集,因为rownum是根据查询的结果集来对记录进行编号,所以当你查询rownum大于2的记录时会得到一个空的结果集。因为当oracle查询得到第1条记录时,发现rownum为1不满足条件,然后就继续查询第2条记录,但此时第2条记录又被编号为1(也即rownum变为1),所以查询得到的始终是rownum=1,因此无法满足约束,最终查询的结果集为空。参考:点击打开链接
  15. Spring注解@Resource和@Autowire的区别
    答:@Autowire默认按照类型装配,默认情况下它要求依赖对象必须存在如果允许为null,可以设置它required属性为false,如果我们想使用按照名称装配,可以结合@Qualifier注解一起使用; 
    @Resource默认按照名称装配,当找不到与名称匹配的bean才会按照类型装配,可以通过name属性指定,如果没有指定name属性,当注解标注在字段上,即默认取字段的名称作为bean名称寻找依赖对象,当注解标注在属性的setter方法上,即默认取属性名作为bean名称寻找依赖对象. 
    注意:如果没有指定name属性,并且按照默认的名称仍然找不到依赖的对象时候,会回退到按照类型装配,但一旦指定了name属性,就只能按照名称装配了. 
    建议使用@Resource。
  16. 内部类的作用
    答:1.内部类可以很好的实现隐藏,一般的非内部类,是不允许有 private 与  protected权限的,但内部类可以
           2.内部类拥有外围类的所有元素的访问权限
           3.可是实现多重继承
           4.可以避免修改接口而实现同一个类中两种同名方法的调用。
  17. Java 泛型 <? super T> 中 super 怎么 理解<?与 extends> 有何不同?
    答:<? extends T> 表示上界通配符 它表示T以及T的子类, 类型最高是T
           <? super T> 表示下界通配符 它表示T以及T的超类,类型最高可到Object ,最低是T
  18. JAVA中子类是否可以可以继承、重写父类的静态方法
    答:可以继承,但不能重写
  19. String为什么会被设计成不可变的
    答:参考:点击打开链接
  20. 线程池知识点
    答:参考:点击打开链接
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值