一、面试题
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创建线程的方式
流利程度
对项目的熟悉程度
还有录屏的技巧