java面试简略版

链接:https://zhuanlan.zhihu.com/p/33029321

1.java HashMap的原理。

是怎么存放的,发生hash碰撞怎么做,为什么get请求的算法复杂度会接近O(1)

了不了解ConcurrentHashMap

原理是什么,如果答出了分段锁之类的,再问一下java7和java8有什么不一样,因为在8的时候做了很多改变,已经不是以前那种Segement了,改用了node数组,扩容是怎么扩的,扩容也是分段扩的,并不是整个桶一起扩的。

2. java的运行机制

例如java文件编译成class文件,由classloader载入->运行

问一下classloader的双亲委派模型,为什么要这样做(可以保证java的一些重要类如Object一定是rt.jar中的,保证系统的稳定性),有哪些问题(模型本身决定的,例如基础类要掉回用户代码),后来怎么解决了(线程上下文类加载器)

问一下java的内存模型,堆和栈这些

gc怎么确定哪些是垃圾(可达性分析),哪些是根?

问一下java的垃圾回收

比如了解哪些算法啊,最好可以说说每个算法的算法流程,例如CMS的第一步是初始标记-并发标记-重新标记-并发清理-并发重置 每个算法的优缺点啊,怎么简单的解决啊(简单回答就好了,例如增加堆的大小,增加后台线程,提前开始并发周期等),也可以问一下有没有了解G1收集器这些,G1的流程,相比CMS有哪些优势。

java 的对象分分配策略

在Eden中,大对象直接进入老年代,长期存活的对象进入老年代,动态年龄分配,空间分配担保

会哪些java工具例如jinfo, jstat, jstack, jcmd等

3. 谈谈设计模式

用过什么设计模式,谈谈什么时候该用这些模式,再问一下,其他的设计模式

4. java多线程问题

怎么创建一个线程,怎么启动一个线程,为什么要用多线程技术,有什么优点(异步运行提高响应速度)缺点(线程上下文的切换)?

怎么确定线程数,根据cpu密集型,还是io密集型决定

线程池问题,在java中怎么创建一个线程池(Executors,或者new ThreadPoolExecutor()),线程池可以解决什么问题(减少了线程创建销毁的时间),可以继续问一下一个线程被提交到线程池会做些什么判断(core线程池满?->等待队列满?->整个线程池满?->饱和策略)

线程同步问题,一般都会回答synchronized跟lock,他们之间的区别(lock可中断,可超时,可尝试获取锁),性能问题谁的性能更好?

问一下volatile的并语义,是不是线程安全,适合哪些场景

有没有看过lock的源码,lock的原理是什么?通过AQS(AbstractQueuedSynchronizer)来维护一个int,是否了解Lock.Condition。

在java虚拟机层面上做了哪些锁优化(锁的种类),偏向锁,轻量级锁,重量级锁

有没有听说过悲观锁和乐观锁,乐观锁CAS的原理是什么,有什么缺点(ABA问题),怎么解决,还有就是两个CAS在一起能否保证线程安全(不能)

5. 是否了解计算机网络

有没有听说过七层协议,ip跟tcp分别属于哪一层。

有没有用过ping命令?ping命令用的是什么协议(icmp),有没有经过tcp层?除了判断可达性还有哪些实用(Traceroute),原理是什么

有没有听过tcp三次握手,过程是什么,为什么要三次握手?那四次挥手呢?

6. 问一下有没有用过spring,springmvc

spring可以为我们解决什么问题(业务解耦),springMVC在一个请求过来是怎么找到相应的处理器(简单回答即可,例如所有请求都会被DispatcherServlet拦截->通过request找到handler->通过handler找到HandlerAdapter)

7. 问一些简单的mysql知识 INT(11)的11代表什么,varchar(11)中的11呢

8. 是否了解缓存

redis或mencached,redis有哪些数据结构(string,list,hash,zset,set),redis对比mencached有什么优缺点(有数据类型,原生支持集群),由于有数据类型所以会占用更多的空间

9. 是否了解mysql的读写分离,是否了解mysql的分库分表,会带来什么问题(不能join)

10. mysql事务隔离级别(读为提交,读已提交,可重复读,可串行化)

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 159,219评论 4 362
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,363评论 1 293
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,933评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,020评论 0 206
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,400评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,640评论 1 219
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,896评论 2 313
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,597评论 0 199
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,327评论 1 244
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,581评论 2 246
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,072评论 1 261
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,399评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,054评论 3 236
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,083评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,849评论 0 195
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,672评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,585评论 2 270

推荐阅读更多精彩内容

  • 在一个方法内部定义的变量都存储在栈中,当这个函数运行结束后,其对应的栈就会被回收,此时,在其方法体中定义的变量将不...
    Y了个J阅读 4,390评论 1 14
  • 这本书记录了一名叫柳比歇夫的俄罗斯昆虫科学家的一生。人们之所以对他如此崇敬是因为他对时间的记录和管理。整整记录了自...
    哇620阅读 492评论 0 0
  • 798
    明城北住院医阅读 56评论 0 0
  • 青藤盘木椅 暖阳晒旧衫 炉火微明夜 春至冬去时 你我拱手话别 你泪洒风中 眼角婆娑 我目转流年 沧桑变换 列车鸣笛...
    如巳阅读 1,977评论 9 34