1. git合并指定的一次commit

答案:

git cherry-pick commitid
git rebase --onto branch  commitid
  1. git撤销已经推送的提交

答案:

git reset --soft  id
  1. Java线程间通信

答案:利用线程同步来实现通信,通过while轮询方式,wait/notify机制

  1. ArrayList 与 LinkedList 区别

答案:ArrayList插入和删除等操作比LinkedList慢

  1. HashMap 和 HashTable 的区别

答案:HashTable比HashMap多synchronized关键字,ConcurrentHashMap是HashTable 的替代

  1. java线程池了解吗

答案:Executor 框架,ThreadPoolExecutor的参数作用

 public ThreadPoolExecutor(int corePoolSize,//线程池的核心线程数量
 int maximumPoolSize,//线程池的最大线程数
 long keepAliveTime,//当线程数大于核心线程数时,多余的空闲线程存活的最长时间
 TimeUnit unit,//时间单位
 BlockingQueue<Runnable> workQueue,//任务队列,用来储存等待执行任务的队列
 ThreadFactory threadFactory,//线程工厂,用来创建线程,一般默认即可
 RejectedExecutionHandler handler//拒绝策略,当提交的任务过多而不能及时处理时,我们可以定制策略来处理任务
 ) 
 ---
  1. redis的两种持久化

答案:RDB和AOF

  1. redis比较Memcached

答案:Redis 支持更丰富的数据类型,Redis 支持数据的持久化,Redis 有灾难恢复机制

  1. Spring事物总结

答案:事务是逻辑上的一组操作,要么都执行,要么都不执行。

innodb支持事物,myisam不支持,使用注解@Transactional

  1. Spring IOC

答案:IOC是一种设计思想,就是 将原本在程序中手动创建对象的控制权,交由Spring框架来管理****IoC 容器是 Spring 用来实现 IoC 的载体, IoC 容器实际上就是个Map(key,value),Map 中存放的是各种对象。

  1. HashMap扩容原理

答案:省去了重新计算hash值的时间。

  1. Spring循环依赖解决

答案:Spring是通过递归的方式获取目标bean及其所依赖的bean的;Spring实例化一个bean的时候,是分两步进行的,首先实例化目标bean,然后为其注入属性。