专栏名称: 复利大王
分享和推送Java/Android方向的技术和文章,让你成为这方面的大牛,让你每天都成长一点。同时,我们也会邀请BAT的大牛分享原创!
目录
相关文章推荐
51好读  ›  专栏  ›  复利大王

2017年初BAT的JAVA面试题汇集

复利大王  · 公众号  · android  · 2017-04-17 10:26

正文

请到「今天看啥」查看全文


2.volatile 仅能实现变量的修改可见性,并不能保证原子性;synchronized 则可以保证变量的修改可见性和原子性

3.volatile 不会造成线程的阻塞;synchronized 可能会造成线程的阻塞。

4.volatile 标记的变量不会被编译器优化;synchronized 标记的变量可以被编译器优化

● 服务器只提供数据接收接口,在多线程或多进程条件下,如何保证数据的有序到达;

● ThreadLocal原理,实现及如何保证Local属性;

● String StringBuilder StringBuffer对比;

● 你所知道的设计模式有哪些; 答:Java 中一般认为有23 种设计模式,我们不需要所有的都会,但是其中常用的几种设计模式应该去掌握。下面列出了所有的设计模式。需要掌握的设计模式我单独列出来了,当然能掌握的越多越好。

总体来说设计模式分为三大类:

创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。

结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。

行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。

● Java如何调用c、c++语言;

● 接口与回调;回调的原理;写一个回调demo;

● 泛型原理,举例说明;解析与分派;

● 抽象类与接口的区别;应用场景;抽象类是否可以没有方法和属性;

● 静态属性和静态方法是否可以被继承?是否可以被重写?以及原因?

● 修改对象A的equals方法的签名,那么使用HashMap存放这个对象实例的时候,会调用哪个equals方法;

● 说说你对泛型的了解;

● Java的异常体系;

● 如何控制某个方法允许并发访问线程的个数;

● 动态代理的区别,什么场景使用;


最新部分

● 简述synchronized?Object;Monitor机制;

● 简述happen-before规则 ;

● JUC和Object ; Monitor机制区别是什么 ; 简述AQS原理 ;

● 简述DCL失效原因,解决方法 ;

● 简述nio原理 ;

● jvm运行时数据区域有哪几部分组成,各自作用 ;

● gc算法有哪些 ; gc收集器有哪些 ;

● 简述class加载各阶段过程 ; class ; loader有哪些模型 ;







请到「今天看啥」查看全文