大应科技

收藏
企业服务
100-499人
天使轮
杭州/成都

0

在招职位

19

面试经验

0

真题试卷

上传简历
此刻你想和大家分享什么
职位类型
全部
后端开发
最新
热门
04-14 14:16
已编辑
门头沟学院
大应科技一面技术面面经1.上来先进行自我介绍2.开始介绍项目,进行项目的拷打3.介绍项目的登录注册流程   以及项目为什么要使用两个拦截器来进行拦截  每个拦截器有什么作用4.为什么要给redis存储的login:Token这个键加上过期时间,是为了实现什么功能5.讲一下你是怎样使用redis的Zset数据结构实现点赞排行榜的 , 你了解zset的地城数据结构嘛,让你用java代码来写一个跳表的数据结构你整体的实现思路说一下(差不多和手撕一样)6.看你使用了redis的set集合实现用户关注和获取共同关注功能你能讲讲具体实现思路嘛7.看你项目中使用了feed流,那我问你现在有一个大v他是有100万粉丝,发送了一条博客笔记,你怎样设计它的粉丝获取到这个笔记的流程.(feed推拉模式相结合实现)8.你还使用了redis的bitmap数据结构实现用户签到功能,你给我介绍一下业务的实现思路,如果我让你在这个上面统计每个用户的连续签到天数你怎样使用这个数据结构来进行这个业务的开发9.你项目中redis自己设计了分布式锁,你能给我讲讲你是怎样设计的,你知道Redssion实现的分布式锁嘛,你阅读过它的源码嘛,讲一讲他底层的实现10.项目结束了我问一些基础知识吧 spring的事务传播等级11.你项目中使用aop嘛,结合你项目讲一讲aop12.看到你简历上还写了 aqs 给我讲一讲aqs底层原理13.ReentrantLock的公平锁和非公平锁基于aqs是怎样实现的14.你了解数据库嘛? 给我讲一讲mysql的唯一索引在什么情况下会发生死锁15.你讲一讲mysql的索引16.现在有一个数据表对这个表中的一个varchar字段加上索引,你给我讲一讲在B+树中根据这个字段索引查询的流程17.加入这个varchar字段很大,你怎样对这个索引进行优化(前缀索引优化)  具体原理呢18.那你再给我讲一讲基于主键索引的范围查询是怎样实现的 ,所有叶子节点是通过双向链表还是单向链表连接的,每个叶子节点内部的数据页是怎样的结构19.剩下的忘记了 手撕算法 最长重复子串(有时间复杂度要求)  接着开始反问阶段1.我还有具体什么方面需要提升的或者一些建议?  你的前面的回答我觉得是上等的,但是后面有些技术细节你的回答让我觉得你是心里明白但是有些地方并不能让特别清楚的给我说出来,整体上来说是中上,但是你语言的表达逻辑能力需要提升,有的时候一个技术涉及到多个点不能这里扯一下那里扯一下,你要循序渐进引导面试官说出来,这对你以后另外的面试非常重要,要锻炼你语言的逻辑能力. 当然我说这几个点并不是代表在我这里不给你过,而是给你的一些建议,我平常面试别人都是不到30分钟,今天面试你面试了快一个小时.2.我问他我们部门的业务是什么或者我入职后会进行什么业务工作  接着他说首先实习生我们一般是不会让他直接上手项目的,前两周我们一般都会让他看项目的代码.具体业务是和知识图谱有关.3.什么时候有后续通知  他说一般来说今天晚上就会有通知 但是hr最近忙明天后天休息 可能要到下周1 周2 结束了  整体上来说面试官真的很好,很和蔼可亲,很尊重我,和他面试真的就像一个前辈指导你一样,面试体验非常好.另外除了spring传播等级忘记了,剩下的基本上都回答出来了.求offer   
查看22道真题和解析
点赞 评论 收藏
分享
(自我介绍,略)我:介绍项目,提到一些设计的改动就是你这边有提到状态的这弱一致性,那你这边怎么去理解弱一致性和强一致性?你有对这一块有了解吗?我理解,我这边看你还有使用 naocs,充当的部分是什么?是配置中心还是做那个服务发现这一块的能力?想问你的就是对于 Narcos 的 AP 和 CP 是怎么去配置的?然后你是怎么考虑这个 AP 和 CP 的?嗯,对这一块有了解吗?那如果我不用 MQ 的话,能不能实现这一套呢?就是我完全靠,比如说就只靠DB,我不需要 MQ 这样的一个中间件能不能实现同样的效果呢?(分布式事务)定时任务的频率你是怎么考虑的呢?如果是多节点呢?怎么考虑定时任务的同步协作那如果不想用分布式的引擎调度呢?(回答分布式锁)在设计这个分布式锁的时候会考虑到哪些东西?你这边对于定时任务的线程池的配置是怎么样的?如果数据量上来了之后,你定时任务超出了那个执行的时长的话,你是怎么考虑这个情况的呢Redis 常用的一些数据类型有哪些呢?比如 Redis 里面我要存一些对象列表,然后这些对象里面有一些属性,然后我需要对这些对象列表做分页、做搜索、做筛选。有这三个需求, Redis 能满足我,哪一个数据类型能满足我?或者是它这个数据类型的 API 能不能满足这一点?如果不满足的话,有没有其他的解决方案的你这一块提到了lua脚本的话,那如果这个 Lua 脚本很复杂的情况下,你是怎么做调试的边的话,我看你这边对 Java 并发编程这一块了解的比较多,你可以讲一下对于 Java 内存模型的一些理解吗?这边的理解我想我希更希望的是你能表达出这个内存模型,比如说我们都知道计算机硬件,对吧?都知道有CPU,对吧?有内存,多个线程会对这一块数据做进行操作的时候,为什么会有并发的问题?然后我们怎么从那个计算机的硬件角度上去理解它这样整体的一个过程?然后我们又是通过什么样的方式来解决这个问题的?然后我们再去了解这个过程,就是它是通过什么特性或者通过什么协议来保证的,然后或者是它这个协议其实际上原则上没有保证这一点,又是通过什么手段去解决这个问题的?你简单讲一下这边就是提及到两点,一个是 synchronize 的关键字,对吧?嗯,然后还有一个是 retrend lock 这一些对应的一些API,对吧?嗯,是的,然后你刚刚也提到 volatile 这一块的一个关键字,它只能保证内存的数据的一个可见性。那你这边,嗯,能深入聊一下,就是对于 volatile 这一块,它关键字实际上是怎么保证这个内存数据是可见的呢(答了字节码层面的标记变量) return lock 这一块,它你知道它背后它是怎么支持的吗?跟那个 synchronize 的区别是什么呢你理解的 return 的log,它实际上维护的是一个状态数据,这一块状态数据是在哪里存储的呢?使用 spring 事务过程中的时候是怎么使用它的?然后使用它的时候需要注意哪些方面?这些方面会有哪些隐患?说到了使用事务的时候会有你这个就是一开始定好的分布式锁的力度和事务所谓的力度并不一致的情况。那我如果想问一下,我在一个事务方法里面,它可能存在一些异步的一些代码,我可能就是比如说有些代码会去考虑到并行的情况,我想去提速的话,我需会遇到哪些问题?或者说这个问题能不能解决掉?其实想问的一点就是你理解的这一块的事物的数据,如果我们是用声明式的注解去做的时候,这一块事物的数据它是怎么存储的?您知道了解这一块吗?(懵逼,面试官解释了一下:它其实是跟着线程变量来的)就是你在使用这个事务过程中的时候,假如我们这边不用 d b 的事物去做了,然后那我能不能就是相当于我自己去实现套你这一套的事物的一个提交回滚?然后我可能不是放,不是用 DB 的那个statement, prepare statement 去做这一块事情的话,有没有其他的方式去做呢?比如说我把这个数据,就是这些事物的一些数据,因为我们这个东西肯定是存这个这些DB、 MySQL 或者 PG 它们引擎里面,它自己会去存这样的一个事务数据,对吧?它有对应的事务记录,那这个事物的记录你如果我把它迁移到,比如说就假设是一个开放性,等于,就比如说我放到 Redis 里面,那我在 Redis 里面应该怎么存?然后我怎么去用这一块的一个就是这一块的事务记录我是怎么交互的呢?比如说我想在 Java 里我不用 Sprint 事务了,我想自己实现一套AOP,然后这一块我该怎么去实现呢?(完全懵逼)我们实际上我们是有一些业务库和一些用专门用来做查询的一些库,我们是会分开的,就是写库和查库,我们实际上可能并不是统一到数据源,那我们是怎么保证这一块去做的呢?就是你会选择去做实时的时候,双写还是离线的方式去做,那离线去做的时候你又怎么去控制这一块的一个定时任务的频率的?对实时和离线这一块的选择会考虑哪方面的一些事情呢?就是为何选择实施?为什么要选择离线?你有想过这一点吗?(依旧懵逼)----------------------------------------------------------------------彻彻底底被拷打得体无完肤,最服气的一次,面试官人很好,答错时会给出一些解答和考察方向,打断的时候也很有礼貌
查看22道真题和解析 面试常问题系列
点赞 评论 收藏
分享
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
2023-03-17 15:21
已编辑
java实习生(元数据引擎部)因为是实习岗,只有一面跟CTO面,校招岗好像一共四面。流程,原本3.8号晚上一面,但是面试官有事提前到3.8号下午2点了,面完还没一小时就打电话约3.8号晚上7点的CTO面了。一面,约50分钟:自我介绍索引的数据结构,为什么?一个请求发送到springboot并且返回response的流程说一下?大概就是MVC的一些东西挑一个项目,说说重点mq用过吗?我说我项目用不上mq,但是我自己实现了一个类似mq的解耦功能我说我在项目中自己实现了一套集群的容灾机制,以及用notify/subscribe解耦整个项目功能刚刚听你说是nacos的贡献者,说说你提的pr?我说修了几个bug和增加了几个功能,并且最近fork了mq,准备学习一下原理。CTO面(大约70分钟):自我介绍,我提到了项目是我带头做的,CTO一直问我为什么导师选择我不选研究生带头问我带头做了什么,我说从需求分析,软件方案设计,和甲方沟通,代码编写都是我参与的然后直接问我的项目,项目跟一面说的差不多不过CTO对项目细节扣的更细,也探讨了一下我架构的合理性springboot中有哪些设计模式?我说到了几个,然后我说,springboot暂时想不起来了,我说说别的框架的设计模式吧,然后提到了nacos的订阅通知,netty的责任链,javaIO的装饰器模式等等。你觉得你对java的哪一个部分最熟悉,我说并发编程。他问例如呢,我说例如解决一些并发问题,生产者消费者等,CTO就接着问有几种方式能实现生产者消费者,我说semaphore,synchronized,reentrantLock都可以实现,然后说了下实现的方法。synchronized说的不好简历上说你是nacos的贡献者,具体做了哪些贡献,为什么这么做,问了下线程池,其他的跟一面差不多巴拉巴拉。。反问:公司是初创公司,问一下发展的前景以及方向?CTO说公司里至少十个p8,p9如果没有前景不会来问还有什么提升的地方?我对技术热情还可以,但是有些细节不够清楚,需要提高总结:两个面试官人很好,而且对八股文问的很少,都是结合实际项目去问,也对我给nacos提的pr很感兴趣希望能过,正好转大数据应该比纯java后端路好走一点
投递大应科技等公司6个岗位
点赞 评论 收藏
分享
2023-03-15 20:53
门头沟学院 后端
发面经攒人品
玻璃橘子:感谢大佬分享
查看8道真题和解析 投递大应科技等公司6个岗位 > 投递实习岗位前的准备
点赞 评论 收藏
分享
模拟面试
真实面试体验,快速补齐短板
应聘感受
暂无应聘感受
牛客网
牛客企业服务