来赞达 Java 面试题

一面

1 HashMap,HashTable,ConcurrentHashMap 1.7 与 1.8 的区别

HashMap

image.png

HashTable

Hashtable 和 HashMap 采用相同的存储机制,但 Hashtable 是线程安全的,其内部方法几乎都被 synchronized 修饰,粒度比较大

ConcurrentHashMap

image.png

具体见文章:并发容器碎碎念

2 实际项目中使用 es 碰到的问题,es的缺点,es-sql 的缺点,es索引的重建

实际项目中使用 es 碰到的问题

  • 同步延时,ES的数据同步来源于MySQL,会出现不同程度的同步延时
  • 数据丢失,当同步服务出现异常或ES不可用,可能会出现ES数据丢失
  • 并发度低,在压测过程中,发现从es查询的接口性能较差,不能支持高并发,容易出现cpu100%和es集群卡死的情况
    es索引的重建
    由于某些es索引可能一开始没有设计很好,在持续运行过程中发现对于查询或使用不友好、存在性能问题时,需要对这些索引进行重建。
    image.png

3 elastic-job 的原理

Elastic-Job是当当⽹开源的⼀个分布式调度解决⽅案,依赖于Zookeeper进⾏分布式协调。


image.png

4 1亿的数据,找出 top100,怎样实现,怎样划分(海量数据top K 问题)

分治+trie树/hash+小顶堆,即先将数据集按照hash方法分解成多个小数据集,然后使用trie树或者hash统计每个小数据集中的query词频,之后用小顶堆求出每个数据集中出频率最高的前K个数,最后在所有top K中求出最终的top K。

5 垃圾收集器;jvm 老年代和年轻代

垃圾收集器
串行收集器 Serial:Serial,Serial Old
并行收集器 Paraller:Paraller Scavenge,Paraller Old,吞吐量高
并发收集器:CMS,G1,停顿时间少

jvm 老年代和年轻代
Java 的堆进行分代管理是为了方便垃圾回收
年轻代:存放新创建的对象。当对象从这块内存区域消失时,说明发生了一次Minor GC。
老年代:存活下来的年轻代对象被复制到这里。GC 发生的次数少于年轻代,对象从老年代消失,说明发生了一次 Major GC 或 Full GC。

具体见文章学到便秘之 JVM

7 kafka 怎样处理重复消费,为什么选择kafka

Kafka是一款开源的消息引擎系统,用来实现解耦的异步式数据传递。即系统 A 发消息给到 消息引擎系统,系统 B 通过消息引擎系统读取 A 发送的消息,在大数据场景下,能达到削峰填谷的效果。


image.png

手动提交与自动提交结合来处理重复消费

具体见文章:学到羊之Kafka

8 redis 主从复制

Redis 提供了主从库模式,以保证数据副本的一致,主从库之间采用的是读写分离的方式。
读操作:主库、从库都可以接收;
写操作:首先到主库执行,然后,主库将写操作同步给从库。

具体见文章:学到生无可恋之 Redis(下)

9 spring bean 生命周期,可以自主销毁单例 bean 吗

image.png

也可以自主调方法销毁单例bean

  • 在配置类中指定 @Bean(initMethod = “init”,destroyMethod = “destory”)注解
  • 实现InitializingBean接口并重写其afterPropertiesSet方法,实现DisposableBean接口并重写destroy方法
  • @PostConstruct标注在init方法上,@PreDestroy标注在destroy方法上

10 哪个中间件你最熟悉,具体说一说

11 mybatis 分页插件的原理

12 String,SringBuilder,Stringbuffer 的区别

String 和 StringBuffer
1)String是个不可变长度的字符串;StringBuffer是个可变长度的字符串;
2)在对String类进行操作的时候(例如增加字符),实际上是在内存中产生了一个新的String对象;StringBuffer是给原对象增加字符,不是新创建一个对象;
3)String 覆盖了equals() 方法和 hashCode() 方法,而StringBuffer没有覆盖equals() 方法和 hashCode() 方法。
StringBuilder 和 StringBuffer
StringBuilder是线程非安全的,StringBuffer是线程安全的,二者的方法都是一样的

13 valotile 关键字用来保证可见性

在变量的前面加上 volatile 关键字修饰,该变量就拥有了可见性,每一次变量被修改时,其他线程都对此可见,这样一旦线程 1 改变了这个值,那么线程 2 就可以立刻看到。


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

推荐阅读更多精彩内容