2019年年初面试问题汇总

前言:最近面试了几家互联网公司,有该行业数一数二的,也有创业小公司,将询问道的知识点和问题罗列一下,以便自己在以后学习中有重点。
一:ArrayList与LinkedList的区别与底层实现
1:ArrayList是实现了基于动态数组的数据结构,数组的特性是可以使用索引的方式来快速定位对象的位置,因此对于快速随机取得对象的需求,使用ArrayList实现执行效率会比较好。
2:LinkedList是采用链表的方式来实现List接口的,对于新增add和remove,只需要对指针就行修改即可,而ArrayList要移动数据来填补被删除的对象的空间。
总之,业务如果查询多,就用ArrayList,业务添加或者删除的多,就应该使用LinkedLis。
二:集合中List和List<?>的区别及作用
1:List通常指的是泛型的一种情况,例如LIst表示String参数的类型的集合。
2: LIst<?>的使用是不确定返回的集合泛型是什么类型情况下所采用的一种方式,"?" 表示是无限制的通配符,参数可以是任何的类型。
一般List<?>可以做传入参数用。
不能用来生成对象,错误示范:比如:List<?> list = new ArrayList<>; list.add(“name”);
三:HashMap,ConcurrentHashMap, HashTable的区别。
说说Concurrent中的还有哪些类,比如:ConcurrentLinkedDeque,ConcurrentLinkedQueue,ConcurrentSkipListMap,ConcurrentSkipListSet,说说怎么使用。
四:反射能获取private属性吗?
正常的方式(对象名.属性名,对象名.方法名)无法访问属性和方法,但是反射可以。
1:获取私有属性值 getDeclaredField(String fieldName)。
2:获取私有方法getDeclaredMethod(“fun3”,String.class);
五:JDK8的新特性有哪些。
https://blog.csdn.net/qiubabin/article/details/70256683
六:Mysql相关
1:groupBy和 having的使用,比如:数据库怎么查询平均分大于80分的学生
select … from … groupby…having avg(成绩) >80
七:说说mysql/sql server数据库的索引类型有哪些
MYSQL目前主要有以下几种索引类型
1:普通索引 2: 唯一索引 3:主键索引 4: 组合索引 5: 全文索引
SQL SERVER索引
1:唯一索引 2: 聚集索引 3:非聚集索引
八:哪些情况下sql索引会失效
九:sql优化的几种方法
十:支持事务的数据库,都必须满足4个特性(ACID),事务隔离级别分哪些.
1:原子性 2:一致性 3:隔离性 4: 持久性
事务隔离级别分为:1:DEFAUL(默认隔离级别) 2: READ_UNCOMMITTED(读已提交) 3:READ_COMMITED(读已提交)4:REPEATTABLE_READ(重复读取)5:SERLALIZABLE(串行化)。
十一:@Tranactional注解详细用法,里边参数的含义。
十二:AOP很重要,面试必问,平时用的少,面试必须详细准备(两个切面,如何让一个执行到另一个的前面)。
十三:MyBatis如何防止SQL注入.
十四:JVM相关知识。
十五:nginx中有哪些配置,如何实现跨域。
十六:线程池中的参数含义。
十七:自定义注解,怎么创建。
总结:对于JAVA工程师来讲,面试官很喜欢问细节,特别是一些参数,很容易忘记,还有一些框架的原理及作用,以及一些觉得难得地方容易跳过,总认为平时开发中用不到啊,导致面试的时候问的问题束手无策,以后在使用过程中要将其原理搞明白,细节问题搞明白,然后在技术的道路上茁壮成长吧。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值