常见的面试问题
Posted hglibin
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了常见的面试问题相关的知识,希望对你有一定的参考价值。
垃圾回收机制,共享变量,线程栈,cas
集合类底层(arraylist扩容问题,hashmap,concurrenthashmap)
mysql引擎,b+树
tcp三次握手四次挥手,https建立连接过程
cookie和session,浏览器cookie禁用后能否用session,不同域名间是否可以访问彼此的session
对象不可达,判断不可达算法,java内存模型
mysql事务隔离级别
effectivejava里面泛型数组是否可以混用
string、stringBuffer、stringBuilder区别
垃圾回收算法
二叉树中序遍历过程
redis之所以高速的架构以及原理
spring有什么项目
平时用过开源框架吗
spring ioc aop原理
arraylist和linkedlist区别
arraylist初始化大小
arraylist扩容,hashmap扩容怎么实现
effective java读后感(答得不好)
concurrenthashmap为什么线程安全,底层做了什么
公钥密码体制
最常用linux命令
vim进去的时候是什么状态
socket编程
java nio
线程有多少种状态
前后端所有的技术栈,了解的都说一遍,之后从你说的技术里面一个个问(说了好久,又被掏空)
用户输入网址跳转,前端到后端,再从后端数据库返回的整个过程
redis可以存储什么数据,高速的架构如何实现,除了缓存还可以做什么
mysql变种,有什么开源数据库
mysql优化,引擎,有多少种索引
用过开源框架吗,有没有了解后端开发框架
网络安全措施有什么,sql注入如何防止
数据库高速链接措施是什么?用过什么数据库连接池
java基本数据类型
如何看待过度使用设计模式
ArrayList底层是如何实现的
集合类有了解吗,说一说map这个类,有几种实现,包括了HashMap,TreeMap,HashTable等等,HashMap底层如何实现
说一说了解的排序算法,然后问了各种算法的时间复杂度,包括最坏情况以及平均情况,快排
二叉树,讲一讲有哪些性质,二叉平衡树(AVL),红黑树的性质,以及红黑树高度最高是多少,可以用性质中的哪一条来证明
算法问题,一个整数数组里面,只有一个数字只出现过一次,其他的数字都是出现两次,如何最快的找到这个数字是什么,不用找到index
多对多表怎么设计
有没有用过缓存
说说常用的集合类
HashMap内部是怎么实现的
ArrayList和LinkedList的区别
手撕代码:一个递增序列,求和为S的数(我直接就是暴力O(n2),最后改到O(n))
多线程有哪些实现方法
线程同步有哪些方法
synchronized内部是怎么实现的
介绍一下Lock锁
spring事务管理
数据结构,如何用链表实现一个栈
hashmap性能不高的原因可能是什么
线程的实现方式,为什么不能直接调用run方法
线程池了解么,线程池处理任务的方式
数据库了解么,数据库如何实现对数据分页,数据库触发器,数据库索引,什么时候索引会失效
jvm了解么,线程私有和共享的内存分布
怎么实现线程安全.synchronized关键字的用法,在方法上用与在同步代码块上用有什么区别
LOCK实现原理
你还看过哪些源码,都看过那些书
spring源码看过吗
百米赛跑中,你超过了第二名,你是第几名?我说第二名,你超过了倒数第一名,你是倒数第几名?(当时第一门回答完第二问回答的特别肯定,当然是倒数第二名啊,然后他就一直看着我笑,我还不知道他在笑什么,回来之后才发现智商被碾压了,怎么会有超过倒数第一名这一说法,感觉自己被套路进去了)
Struts拦截器
Session和Cookie的区别
分布式环境下Session一致性的处理(不会)
Struts2的原理(不记得了)
Hibernate原理
mvc设计模式
servlet原理
算法题:判断单链表是否有环,时间复杂度(像这种算法题,要自己说出时间复杂度)
事务特性:ACID,原子性,一致性,隔离性,持久性。分别介绍一下原子性和持久性
网络:tcp和udp的区别
连接是个什么概念?(其实我答的是tcp三次握手建立连接的过程)
流量控制是怎么做的
序列化及方式(序列化接口有俩方法,没注意过)
内部类
同步:阻塞同步 非阻塞同步
notify、notifyAll()区别
wait与sleep的区别
设计题:设计一张表 应该需要考虑挺多问题,没考虑那么多
行列转换
平时怎么进阶学习呢?我提到了源码,然后就问了个线程池源码的实现
redis数据类型+redis是单线程的么,为什么呢
线程池的类型,详细介绍cached和fixed
corePoolSize参数的意义
线程池新任务到达时会先使用空闲线程还是加入阻塞队列
CountdownLatch怎么使用
volatile和synchronized区别
介绍一下DCL问题,介绍一下单例的其他方法,比较优劣
Spring中@Component,@Service,@Repository,@Controller注解的区别(就是将分别的默认作用域),怎么自己设置作用域(@Scope)
Spring的两大特性,自由发挥
Mybaits中需不需要自己设计id,id的策略都有哪些
Mybaits中#和$区别
JVM
类的加载机制
进程和线程
索引的优点缺点
final的用法
抽象类和接口的区别
类加载过程
gc机制
手写tcp的socket编程
异常,运行异常和编译异常的区别,本质原因是什么
快排最坏和平均复杂度
中文编码问题
char型变量能存储中文?
重载和重写
一个大文件,怎么查找关键字,方法(也可以对文件做调整)
怎么把数据库的某列拿出来放在本地文件
整型数组的最大字串
二叉树的高度
两个无序链表,合并成一个有序链表
以上是关于常见的面试问题的主要内容,如果未能解决你的问题,请参考以下文章