java面试

基础:30分
1. 常用设计模式?动态代理和静态代理的区别和实现原理,常用数据结构
2. 工作中是否遇到多线程问题,如何解决的?
3. 你使用过的spring功能有哪些?spring产品体系了解哪些?
5. 如何理解跨域?跨域传输的实现注意事项?
 
高级:60分
1. 用过的开源框架,都解决什么问题?缓存、MQ、搜索引擎、分布式服务、nosql、大数据并行计算
2. 实现远程接口通讯的技术有哪些?
3. 搭建高可用、易扩展的服务。部署架构、代码框架、业务细节?
6. 如何实现灰度发布、平滑升级
 
 
 
1.    多线程有几种实现方法,都是什么?同步的方法有几种,都是什么?
<wiz_code_mirror>
 
 
 
 
 
1
解答:多线程有两种实现方法:继承Thread类或者实现Runnable接口。
2
实现同步也有两种方法:一种是同步方法,另一种是同步代码块。
3
同步方法是在方法返回类型前面加上synchronized关键字
4
同步代码块是synchronized (这里写需要同步的对象){?}
 
 
2、集群的方案?web集群环境中的会话保持问题?分布式的方案?分布式服务的接口授权问题?
3、本地事务?分布式事务?
 
 
 
1.jvm相关
参考:http://www.cnblogs.com/smyhvae/p/4810168.html
方向:
1.jvm的内存分区
2.垃圾回收的算法
3.jvm调优
问题:1.jvm的内存分配 每个分区具体存储哪些东西
2.g1和cms区别,吞吐量优先和响应优先的垃圾收集器选择
3.说一下强引用、软引用、弱引用、虚引用以及他们之间和gc的关系,以及使用场景
4.jdk8的新特性
5.jstack 命令的使用
2.java 基础
问题:1.HashMap的实现原理,解决hash碰撞的方法,为什么HashMap不安全
答:它是一个“链表散列”的数据结构,即数组和链表的结合体,要细化掌握;法有1.开放定址法 2.再哈希法 3.链地址法也叫拉链法(重点理解)4.建立一个公共溢出区;hash碰撞与扩容导致;
2.ConcurrentHashMap和HashMap和HashTable 本质区别
3.static和final的区别 已经对变量修饰时的加载顺序
4.自动装箱和拆箱问题
5.volatile的语义,它修饰的变量一定线程安全吗
6.并发包(concurrent)是面试重点 互联网公司必问
参考:http://www.cnblogs.com/dolphin0520/p/3932906.html
7.Lock与synchronized 的区别
8.设计pojo类时整型是用int还是Integer,为什么, 实际业务场景中需要注意什么
9.了解哪些设计模式以及主要的应用场景
10.io和nio
3.spring+mybatis+springmvc
说明:根据简历描述来问的
问题:1.使用Spring框架的好处是什么
2.Spring的工作原理 {基本就是ioc和aop的原理 延伸会问一些 使用了哪些设计模式}
3.Spring中ApplicationContext加载机制和配置初始化
4.获取spring的ApplicationContext几种方式
5.Spring事务传播机制和数据库隔离级别 {基本上是概念的理解}
6.Spring注解 列举几个
7.mybatis通常一个Xml映射文件/注解,都会写一个Dao接口与之对应,dao如何找到 对应的配置文件的?
关于mybatis面试的不多 可参考:http://www.cnblogs.com/huajiezh/p/6415388.html
8.SpringMVC原理 如下:
 
4.数据库相关(mysql)
方向:1.mysql的存储引擎 其中对innodb重点理解
2.mysql如果cpu使用极高如何处理 {show processlist命令,日志查找最慢SQL语句,是否使 用索引 缓存失效了几个方面 也就数据库优化}
3.索引的工作原理 列举几种
4.在判断题中也会出现 ddl dml具体命令
5.主从同步存在时间差 读写分离(写主读从)如何避免
4.Redis
方向:1.redis的持久化 rdb和aof的区别
2.存储的数据类型
3.reids存储数据类型多样,具体运用在哪些场景
4.redis的集群原理 什么情况下可以判断reids集群不可用
5.如果多年使用redis会问reids3.0之前主从宕机切换的机制{哨兵机制}
5.搜索引擎(Lucene)
方向:1.lucene的索引结构{倒排索引}
2.lucene分词器[常用的:庖丁,ansj] 实现原理
3.查询分页
6.MQ
可能市面是mq框架太多基本没问过 只是聊过使用场景
7.算法相关的笔试
方向:1.lucene的索引结构{倒排索引}
2.lucene分词器[常用的:庖丁,ansj] 实现原理
3.查询分页
8.前端
跨域,对象取值,cookie sessionstorage localstorage 没具体的方向都是问问 不是重点
7.架构和部署相关
画一下公司平台结构图 根据图会问一些如果实现处理和可能存在的风险点怎么办,如何计算平台的
并发值。
8.算法相关笔试题
链表反转,字符串翻转,位运算
待完善
 
9.面试官问你喜欢什么样的工作环境?

我有很强的环境适应能力,可以在任何环境下正常工作不被打扰。
当然,如果一定需要比较的话,我更喜欢学习型组织。
当大家有着共同目标,并一起为了这个目标努力时,这个组织的氛围是最好的,并且组织中的成员的成长速度最快。

10.
原文地址:https://www.cnblogs.com/xsj891107/p/9260244.html