前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >科大讯飞面经详解!

科大讯飞面经详解!

作者头像
田维常
发布2024-06-21 08:50:33
1210
发布2024-06-21 08:50:33
举报

节前,一位朋友去科大讯飞面试,面试问题反馈。难不难不是我说了算,你可以看看是否能应对。

开始正文:

1.redis在项目中怎么应用的?缓存了什么

这个问题没什么难度,按照项目中使用情况来回答即可。

怕的是项目中没有用到,然后在简历上假装用过,再加上完全没想过什么业务场景用到,所以容易冷场。

很多面试回答都是:缓存

可是面试官想知道你是如何缓存的?选择的是哪种数据类型?面试官更想知道你除了用作缓存以外,还用来做什么?

2.说说对jwt的了解,往细一点说

JWT(JSON Web Token)是一种开放标准(RFC 7519),用于在网络上传输信息的一种紧凑、自包含的方式。JWT 通常被用于身份验证和信息交换,特别是在分布式环境中。

  • JWT的结构:header、Playload以及签名
  • JWT工作流程:认证和授权
  • 优缺点、使用场景、注意事项

3.优惠券库存超卖的问题是怎么实现的?如果两个人同时去抢这个优惠券怎么办?

这里请记住:凡是多线程下怕资源出问题,那就会想到锁,至于用什么锁,要看你业务场景以及系统架构。

比如:单体架构可以考虑volatile、synchronized、Lock。

再比如:微服务架构,那可能就需要引入分布式锁,既然提到分布式锁,面试官都会问你们项目用什么实现分布式锁?分布式锁实现方案有哪些?每个优缺点是什么。

在面试中,也不用那么死板,不要一开始就回答问题的正确答案,你可以说,其实遇到这个类问题,我们可以使用方案1、方案2、方案3,但是我们项目是xxx的,所以最终选择了方案3,但是方案3的实现又有很多种,我对这几种方案进行深入研究和对比,最终选择了方案x,选择这个方案的原因是基于xxxx等多方面考虑。

千万别小看这个问题,这个问题足以让很多人倒下。

可能面试官会把大量的并发编程的知识全部拿出来问你的,掌握不好就GG了。

4.如果用户下单,在规定的时间内没有支付,对于这种失效情况要怎么做?

项目中遇到这样的场景,每个项目实现方法不一样,你们项目是

  • 没有处理?
  • 定时任务处理?
  • 延迟消息队列?

回答好你们项目的方案即可,不过,你可能说我们用的是延迟消息队列,面试官就会问:定时任务不行吗?延迟消息队列就完美了吗?

5.对数据结构了解的怎么样?

这个问题看你自己掌握的怎么样来说,建议搞个先后顺序,先说什么表示这个你掌握更好,一次类推。

这样面试官可能就问你前面内容。

学会取巧,把自己最会的放在前面,简称扬长避短

6.最近刷题有遇到哪一题印象比较深的吗?有哪些比较熟悉的算法?介绍一下

刷题过程中,多少都会遇到一些有意思的点,自己平时刷题时留意一下。

7.项目中有用到设计模式吗?

注意审题:项目有用到什么设计模式

这里面试官是想问你在项目中用过什么设计模式,如果有用到那就跟面试官说清楚即可。

如果没有准备好,那赶紧抽时间把自己项目整理一番,准备好面试说辞。

我在xxx项目中,用到了工厂模式,策略模式,模板方法模式.... 比如:在xxx业务功能中,我用到了xxxx模式,整个业务是xxxxx的,其实,这里可以使用xxx、yyyy设计模式,但是考虑到zzz问题,所以选择了xxx设计模式。

其实,我们项目中都会用到很多设计模式,或许是你完全没有发现,甚至很多设计模式可以套到项目中去。

不过,如果实在是没有什么设计模式可以说,那你就说框架中用到了某某设计模式,这样回答不是很好,但总比不说好很多。

面试官:代理模式和装饰器模式的区别

一个单例模式,被问7个问题,难!

观察者模式

3年工作必备 装饰器模式

8.Java的juc包下的工具类有使用过吗?有看过源码吗?平常有阅读源码的习惯吗?

这个可不是被八股文能应对的哈,需要有真材实料,自己真的看过,还用心看过,总结过,否则回答很有可能被扣分。

9.concurrentHashmap有了解过吗?

这个就是用常规八股文基本上能应对了,就看你是否掌握相关八股文。

10.Hashmap底层数据结构长什么?什么时候转变成红黑树?

同样是八股文,简单的不能再简单的。

11.hashmap和hashtable有什么区别?

同上

12.怎么理解阻塞和非阻塞的概念?

线程阻塞需要等待一个结果,这个结果可能是由某个线程来notify,也可能是某个方法的一个返回值,非阻塞指线程调用某个方法,不关心这个方法的结果,继续往下执行

可以理解为是八股文,只是每个八股文表述方式不一样,导致面试官觉得你回答的是否正确那就另说了。

13.项目中用到了异步的方法吗?有了解过吗?

先搞清楚异步有哪些方式可以实现,然后再结合项目业务场景,其实大部分项目都会用到异步,只是实现方式不同罢了,甚至很多人连什么是异步都没有搞清楚,导致面试中很多人都是支支吾吾的回答。

14.Java中怎么创建一个线程?你更推荐哪一种?

网上说有很多种,关于线程的创建,推荐一篇文章:面试官:如何判断线程是否已经启动?

15.mybatis和mybatisPlus的区别?

这个问题不是多大点事,前者是前辈,后者是扩展封装,很多公司禁用后者,很多公司推荐用后者。

总结

如果计划找工作了,请认真对待面试,需要用心准备。再次强调这个过程你需要做下面几个步骤:

  • 简历用心写,深度挖掘业务
  • 八股文好好背,最好是把知识穿起来
  • 项目问题深度解析,整理出文档,比如:项目难点、设计模式如何使用的、使用了什么分布式技术、优化(性能优化、SQL优化以及Java代码优化)
  • 自我介绍,沟通能力
  • 模拟面试,提前复盘
  • 持续刷题(在校生/应届毕业生/面大厂)

好了,今天就分享到这里,记得点赞收藏。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-06-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Java后端技术全栈 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.redis在项目中怎么应用的?缓存了什么
  • 2.说说对jwt的了解,往细一点说
  • 3.优惠券库存超卖的问题是怎么实现的?如果两个人同时去抢这个优惠券怎么办?
  • 4.如果用户下单,在规定的时间内没有支付,对于这种失效情况要怎么做?
  • 5.对数据结构了解的怎么样?
  • 6.最近刷题有遇到哪一题印象比较深的吗?有哪些比较熟悉的算法?介绍一下
  • 7.项目中有用到设计模式吗?
  • 8.Java的juc包下的工具类有使用过吗?有看过源码吗?平常有阅读源码的习惯吗?
  • 9.concurrentHashmap有了解过吗?
  • 10.Hashmap底层数据结构长什么?什么时候转变成红黑树?
  • 11.hashmap和hashtable有什么区别?
  • 12.怎么理解阻塞和非阻塞的概念?
  • 13.项目中用到了异步的方法吗?有了解过吗?
  • 14.Java中怎么创建一个线程?你更推荐哪一种?
  • 15.mybatis和mybatisPlus的区别?
  • 总结
相关产品与服务
消息队列 CMQ
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档