您的位置:首页 > 职场人生

春招面试经验系列(七)蚂蚁金服

2018-04-01 22:57 197 查看
蚂蚁金服
一、解释一下多态。
多态是面向对象程序设计中代码重用的一个重要机制,它表示当同一个操作作用在不同对象时,会有不同的语义,从而产生不同的结果。例如同样是执行“+”操作,整型之间是整数结果,而字符串之间相加则仍然是字符串。
二、java 垃圾回收问题。
三、hashmap 和 hashtable

Hashtable 的方法是同步的,HashMap未经同步,在多线程场合要手动同步HashMap
Hashtable不允许null (key和value都不行),HashMap允许null值(key和value都可以)
Hashtable中hash数组默认大小是11,增加的方式是 old*2+1。HashMap中hash数组的默认大小是16,而且一定是2的指数。
哈希值的使用不同,Hashtable直接使用对象的hashCode,HashMap重新计算hash值,而且用与代替求模
ConcurrentHashMap和CopyOnWriteArrayList保留了线程安全的同时,也提供了更高的并发性
Hashtable和ConcurrentHashMap有什么分别呢?它们都可以用于多线程的环境,但是当Hashtable的大小增加到一定的时候,性能会急剧下降,因为迭代时需要被锁定很长的时间。因为ConcurrentHashMap引入了分割(segmentation),不论它变得多么大,仅仅需要锁定map的某个部分,而其它的线程不需要等到迭代完成才能访问map。
四、对object方法的认识。
Object类是Java中其他所有类的祖先,没有Object类Java面向对象无从谈起。作为其他所有类的基类,Object具有哪些属性和行为,是Java语言设计背后的思维体现。Object类位于java.lang包中,java.lang包包含着Java最基础和核心的类,在编译时会自动导入。Object类没有定义属性,一共有13个方法
五、hashcode重写场景。
六、递归和迭代的区别。

递归的基本概念:程序调用自身的编程技巧称为递归,是函数自己调用自己。
递归的使用可以使代码更简洁清晰,可读性更好(对于初学者到不见得),但由于递归需要系统堆栈,所以空间消耗要比非递归代码要大很多,而且,如果递归深度太大,可能系统资源会不够用。
利用变量的原值推算出变量的一个新值。如果递归是自己调用自己的话,迭代就是A不停的调用B。
七、线程池。

线程池的好处:第一:降低资源消耗。通过重复利用已创建的线程降低线程创建和销毁造成的消耗。第二:提高响应速度。当任务到达时,任务可以不需要等到线程创建就能立即执行。第三:提高线程的可管理性。线程是稀缺资源,如果无限制的创建,不仅会消耗系统资源,还会降低系统的稳定性,使用线程池可以进行统一的分配,调优和监控
线程池的创建:通过ThreadPoolExecutor来创建一个线程池
线程池的参数:corePoolSize(线程池的基本大小)
runnableTaskQueue(任务队列):用于保存等待执行的任务的阻塞队列。 可以选择以下几个阻塞队列。
maximumPoolSize(线程池最大大小):线程池允许创建的最大线程数。如果队列满了,并且已创建的线程数小于最大线程数,则线程池会再创建新的线程执行任务。值得注意的是如果使用了无界的任务队列这个参数就没什么效果。
ThreadFactory:用于设置创建线程的工厂,可以通过线程工厂给每个创建出来的线程设置更有意义的名字
RejectedExecutionHandler(饱和策略)
keepAliveTime(线程活动保持时间):线程池的工作线程空闲后,保持存活的时间。所以如果任务很多,并且每个任务执行的时间比较短,可以调大这个时间,提高线程的利用率。
TimeUnit(线程活动保持时间的单位)

八、spring MVC的过程。
提供了servlet监听器的context和web应用的上下文。同时还集成了一些现有的web框架。
然后可以解释下MVC模型框架:
模型(M)控制业务逻辑,视图(V)与用户交互,控制器(C)搭建模型和视图的桥梁。
九、反射。
对象在运行过程中能否有一种机制查看自身的状态,属性和行为。这就是反射机制。
每一个运行中的类,都会有一个class对象,表示这个类的类对象。使用关键字new创建一个类的时候,这个类可以没有被加载。但是
使用Class对象的newInstance()方法的时候,就必须保证:1、这个类已经加载;
2、这个类已经连接了。而完成上面两个步骤的正是Class的静态方法forName()所完成的,

这个静态方法调用了启动类加载器,即加载 java API的那个加载器。
十、多线程锁
十一、CAS数据库索引事务特性
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: