百度Java实习面试题

    1. 自我介绍加项目介绍
    1. 简历上看到你做过项目组长,你在做组长之后做了那些工作。学到了那些东西。
    1. 有看过HashMap源码吗?
    1. JDK1.7中HashMap的put()方法全过程。
    1. JDK1.8有那些变化。
    1. JDK1.7当中HashMap中线程不安全问题有那些?原因分别是什么?
    1. JDK1.8之后如何链地址法,链表长度是多少的时候会转换成红黑树。
    1. 节点个数是多少的时候,红黑树会退回链表。
    1. 为什么会选择8作为链表转红黑树的阈值。
    1. HashMap与HashTable有什么区别?
    1. 有没有了解过ConcurrentHashMap?
    1. JDK1.8之后ConcurrentHashMap如何保证线程安全性?(CAS+synchronized),这里还顺便问了synchronized和可重入锁的区别。
    1. 与JDK1.7相比有那些优化?
    1. 说到synchronized,说些synchronized加载static关键字前和普通方法前的区别?
    1. 看你熟悉单例,说下单例懒汉式和饿汉式的区别?(手写)
    1. 懒汉式下如何保证线程安全?
    1. 创建线程安全的单例有那些实现方法?
    1. 说一下JVM的内存模型?(每一个模块都说)
    1. 熟不熟悉垃圾回收算法?
    1. 如何判定一个对象是否应该回收。
    1. 除了垃圾回收,还有那些工作会造成CPU负载过高(其实这里给出的是一个场景,就是让描述一下除了垃圾回收之外,还有那些工作会让线上CPU占用到百分之90-100,并且给出排查过程。)。
    1. 说一下CMS垃圾回收器和G1收集器的特点,和收集过程。
    1. String a = “abc”;和String b = new String(“abc”);是不是一样的?为什么?他们对应的内存空间分别是什么?
    1. 说一下JVM创建对象的过程。
    1. 说一下byte a = 127; byte b = 127; a+=b和a = a+b的区别分别会出现什么问题。
    1. 是否熟悉mysql?说一下mysql的隔离级别和对应的问题。
    1. 什么是MVCC,主要是为了做什么?
    1. 我们的数据库当中如何做的优化?举案例。
    1. 说一下mybaits和hibernate的区别,为什么用hibiernate。
    1. Hibernate状态的转换关系。
    1. 说一下Spring的IOC和AOP在项目里是怎么用的。
    1. AOP的两种实现方式,并且说一下哪一个效率更高一些,为什么。
    1. 说一些Spring的事务传播机制。
    1. 有哪些问题可以问?