一、面试题1.先介绍一下自己2.看你简历上写了一个在线视频弹幕系统,在这个项目中,你负责的模块3.看你项目中用到了ElasticSearch,搜索类型是什么,如何实现搜索功能的答:跨实体建立索引,给关键字段设置索引,进行模糊查询功能,举例了elasticsearch在项目中的使用4.为什么用ElasticSearch,说说你对ElasticSearch的了解,ElasticSearch的特点ElasticSearch适用于海量数据是搜索场景,存储数据用的是Json格式存储,相比于mysql数据检索效率比较快5.对EalsticSearch底层分词的原理,分词流程暂时还没有深入了解6.Redis在你项目中使用的类型?string类型,举例了项目中使用的场景7.Java多线程的实现方式?四种实现方式8.说一下多线程安全问题是什么?多次线程在并发场景下对共享资源的争抢,如果没有对线程进行同步操作,可能会导致结果错误9.Callable接口跟Runable接口的区别一个有返回值,一个没有返回值10.如果解决线程安全问题,说一下最常见的解决方法,说一下常用的锁?乐观锁、悲观锁 吟唱,没吟唱完就继续下一个问题了11.介绍一下简历上的电商项目demo项目12.场景题:订单超时取消功能的实现?没有深入了解过,但是我理解可以使用定时器或者基于redis实现13.Linux滚动查看日志的命令tail命令二、反问14.有没有什么想问的14.1.上面的场景题目是如何实现的?定时器、redis的订阅发布模式延迟队列、消息中间件的延迟队列14.2.公司部门的业务主要是做什么的?主要是做女装业务的电商系统开发,进销存管理14.3.您觉得我刚刚回答的整体情况如何?java基础还是非常不错的,特别是对锁的理解,整体还是挺不错的感觉面试官还是挺满意的,不知道这个公司有没有二轮技术面的三、总结:面试时长大概17分钟,感觉面试官还是挺好的负责模块的介绍多线程的实现方式需要再熟悉一下,比如Callable创建线程的方式流利程度对项目的熟悉程度还有录屏的技巧