蘑菇街面试问题记录

1.hashMap是不是线程安全的,什么情况下会发生线程不安全,死锁什么情况下发生呢

2.ThreadLocal介绍一下怎么用的?我不会

3.mysql的事务的四大特性介绍一下?我不会

4.mybatis的原理介绍一下,能不能在mybatis中直接查找某个database中的表,不是在mysql的客户端中查找?有一个没听懂的问题,在mysql中写select时怎么避免select的注入的问题?

5.AOP原理介绍一下,IOC介绍一下

6.ArrayList中删除几个String类型的数,怎么删除这些数,能不能用遍历,的方式删除(不能),如iterator。因为没删除一个元素,size会变,会超过索引,IndexOutOfbanarry

7.synchronized举例,一个Thread类中定义三个方法有两个加了同步修饰符,第三个加了this,在线程启动时,调用这些方法会发生什么。(我回答,线程同步)。在问在synchronized前加上static或再启动线程调用三个方法会怎么样,还有在方法内部加上Object o =new Object(),又会怎么样?

8.线程池,线程池中现中核心线程数、最大线程数、队里,运行的策略。加入分别为10、20、1000、线程池会怎么运行。(我回答先核心线程。然后进队列,最后开启最大线程数),问为什么先进队列中,而不是将线程开到最大?以及如果想实现先开到最大线程数,再进队列,直接写代码怎么实现?

9.介绍项目,以及项目中出现的难题,怎么解决的?

10.synchronized和local 的区别介绍一下,我回答,加锁和释放锁,以及一些实现细致方面local更好一点。

11.mysql中的优化问题。我提到了索引,讨论了一下索引的实现原理,同时提问,在给定的一个users表中存在两个字段,

 idx_username(主键), idx_created(非主键),那么,当在用where查询时两个字段都用到,能不能跳过username的索引(或者说不用这个索引),而使用created的索引?没回答上来...
12介绍了一下他们部门,其他的记不起来了........
 
 
 

猜你喜欢

转载自www.cnblogs.com/zz22--/p/11429927.html