概述
java后端技术面试题总结(2018)
java se部分
- 简述string对象,StringBuffer、StringBuilder区分
- 多态的原理
- 简要描述面向对象编程的思想
- 反射的原理
- 代理的作用和实现
- hashcode和equals的用法
- set,map,list的区别(尽量详细)
- 简述arraylist和vector的区别
- hashmap原理,key碰撞时是如何处理的
- Integer f1 = 100,f2 = 100,f1==f2吗
- 快速失败(fail-fast)、安全失败(fail-safe)
- String类相关
java 多线程部分(JUC)
- 实现多线程的方式
- 多线程的状态、流程图
- 多线程yield()、sleep()、wait()、join()
- synchronized优化锁
- JUC并发包基本类
- Lock和synchronized原理、区别
- Condiction原理及其使用
- ThreadLocal原理及其使用
- volatile原理
- CountDownLatch、CyclicBarrier、Semaphore作用及其使用
- ConcurrentHashMap原理,并发集合有哪些
- 线程池的种类,创建线程池的主要参数
- 描述线程池几个主要参数的工作流程(CorePoolSize、MaxPoolSize等)
- BlockQueue的类别
- 多线程锁的种类和原理
- 死锁发生的条件
- 多进程死锁怎么处理
- ++i是原子操作吗?为神魔?怎么处理?
- CAS描述,CAS中有什么问题(ABA),说一下ABA,如何避免ABA
- 线程数越多越好吗
数据库部分
- 数据库引擎类别、区别(innodb()支持事务、myisam、memory)
- 数据库表锁和行列锁的区别
- mysql索引类别,各个引擎支持的索引
- 列举索引失效的情况
- 简述事务
- 详细介绍事务的隔离级别、传播属性
- in和exists的区别
- mysql遵循的规范
- mysql的优化方案
- 数据量太大怎么办
- 数据库的MVCC
- 如何查看sql语句的运行情况
- 数据库a: id ,status,两个字段,第一个任务要把更新1,1,第二个任务几乎同时要更新1,2,
- 如何保证第一个操作不被第二个操作覆盖?
- 可重复读隔离级别下能避免幻读吗
- 身份证号如何设计索引
数据结构相关
- 数据结构排序算法(主要排序算法)基数算法、LRU算法
- java实现堆、栈
- java遍历二叉树
- 25匹马,5个赛道,找出前三名
- 中间件(Redis、zk、nginx)
- activemq怎么做负载均衡
- 用activemq处理的消息失败了服务器如何处理
- tomcat容器如何做负载均衡
- 如何优化tomcat
- 分布式锁如何实现
- nginx怎么处理session共享的问题
- nginx实现负载均衡如何配置
- redis的过期处理
- redis中各个类型的使用场景
- redis的事务实现了ACID那几个属性
- 如何保证redis和db的一致性
- redis持久化机制
- redis淘汰策略
虚拟机相关
- jvm(HotSpot)由哪些区域组成,每个区域的作用
- 类的加载机制,加载详细流程
- 根据一个类识别每个变量存储在哪里
- 类执行顺序
- gc的主要区域、标识回收的方法
- gc的主要流程
- 垃圾收集器的种类、工作流程
- jvm调优的工具或者命令
- .jvm调优的过程
- youngGC不出发了,总是触发fullGC,为神魔
- young gc和full gc触发的条件
jsp相关
- cookie和session的区别
- get请求和post请求的区别
框架相关
- spring依赖注入实现的原理
- 简述mvc的原理
- @ResponseBody标签的作用、
- filter是什么设计模式(责任链)
- aop如何实现以及实现的原理
- springmvc和spring使用的注解
- mybatis中#和$的区别
- 简述Spring Bean的生命周期
- spring事务
- spring里边使用过的设计模式
设计模式相关
- 简述你用到过或者接触过的设计模式
- 单例模式简述和种类
Redis
- redis底层io模型
- redis底层数据结构
- redis的过期处理
- redis中各个类型的使用场景
- redis的事务实现了ACID那几个属性
- 如何保证redis和db的一致性
- redis持久化机制
- redis淘汰策略
操作系统
- buffer和cache区别
kafka
- 文件存储形式
ES
- es的读写一致性,主从
- search的过程
ZK
- 选举过程,zxid、选举轮次
算法
- 一个链表,删除倒数第n个元素,返回第一个节点,只能查询一次;
- redis设计,存储一个海量网站的每日用户登陆(ID),3天内连续登陆的用户数,7天内登陆过的用户数;使用redis的zset;
- 分布式事务处理方案;MQ、本地事务、2pc、tcc;
- 身份证设计索引;哈希值作为索引;
最后
以上就是欣喜发卡为你收集整理的Java面试题小结(2018)的全部内容,希望文章能够帮你解决Java面试题小结(2018)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复