软通动力 电话面

#面经# #软件开发2024笔面经#
👥 面试题目

20240313 记录问题作为参考

面试问题:

0.自我介绍
1. 数据库性能优化方面的问题?
2. SQL优化方面的经验(重要,问的次数很多)
3. MySQL的索引?(被问过多次,重要)
4. MySQL中的事务和Java代码中的事务?
5. Mysql中的锁?
6. 乐观锁和悲观锁?
7. Redis的过期策略?
8. Redis的内存淘汰机制?
9. redis中的预热、降级?
10.对中间件rabbitMQ、kafka的了解?
11.线程池的原理?
12.线程里多余的线程如何回收?
13. 线程锁
14. 分布式锁和进程锁?
15. 使用线程池的好处?
16. 创建线程的几种方式?
17. 对死锁的了解?怎么解决?
18. 项目中的高并发场景?(秒杀的业务逻辑描述待准备)
19. elasticSearch的了解
20.下单支付接口   接口鉴权  如何保障安全性?(被问过几次,重要,需要准备下单操作的业务逻辑描述)
21. 后台管理,支付退款?(支付退款的业务逻辑描述准备)
22. 后台管理系统登录鉴权   跨域问题?
23. 跨站请求伪造场景 CSRF的了解?
24. 后台输入框XSS攻击的了解?

涉及知识点:

MySQL高级(重要):索引与SQL优化、事务、锁、
多线程(重要):线程池、线程安全、锁
Redis:缓存场景
项目业务场景:高并发场景(秒杀)支付退款逻辑  登录逻辑(jwt)
安全问题:CSRF、XSS、DDos  (背概念即可)
中间件:消息队列rabbitMQ、Kafka;搜索ElasticSearch

尝试回答:

MySQL
1. 什么是索引?
    索引是帮助MySQL高效获取数据的数据结构,它能提升数据检索的效率,降低数据库的IO成本(不需要全表扫描),通过索引列对数据进行排序,降低数据排序的成本,降低了CPU的消耗。
全部评论
多线程 1. 对死锁的了解,怎么解决? 1. 概念 不同的线程分别占用对方需要的同步资源不放弃,都在等待对方放弃自己需要的同步资源,就形成的线程的死锁。举个例子,哲学家就餐问题,一人只有一个筷子,需要两只筷子才能吃饭。 2.产生的条件 互斥条件,占用且等待,不可以抢夺,循环等待。四个条件同时出现会触发死锁。 3.解决办法 让产生的条件不成立。 条件1:基本上无法被破坏,因为线程需要通过互斥解决安全问题 条件2:考虑一次性申请所有的资源,就不存在等待问题 条件3:占用资源的线程在进一步申请其他资源时,如果申请不到,就主动释放掉已经占用的资源 条件4:可以将资源改为线性资源,申请资源时,先申请序号较小的,这样可以避免循环等待的问题
点赞 回复 分享
发布于 03-31 18:35 安徽
电话面都这么久吗😱
点赞 回复 分享
发布于 04-12 14:09 湖南
请问你面的是什么岗位呢?是高级产品专员(开发)吗?
点赞 回复 分享
发布于 04-24 10:38 江苏

相关推荐

10-27 01:19
已编辑
哈尔滨工程大学 Java
牛友们好,先说一下我的背景吧,本科四非大学,硕士大家看到了,成绩垫底,无竞赛无奖学金,实习仅有不对口的两个月研究所经历。秋招期间走的方向是Java,只有一个苍穹外卖的单体项目经历(当然了我改了名字还做了一些分布式和缓存等的包装),这次秋招0 offer,基本上秋招已经是凉了。目前离春招还有4个多月,还不想放弃,所以我差不多11月开始就要为春招做准备了。目前我大概考虑的方向有3个:第一个是在这4个月里吃透微服务,搞一个微服务的项目出来,春招继续卷Java;第二个是转前端,因为前端给我感觉比Java松弛很多,好几次我都被前端面试给捞了;第三个是转Android,因为据我实验室朋友说这次Android应聘的人也挺少的,他好几次被Android捞了,而且我本科毕设也有开发Android的经历。继续卷Java的话,四个月整微服务时间倒是来得及,但是毕竟Java今年实在是卷到没母亲,不确定多一个微服务项目能不能行,担心还是会是像秋招一样的反馈;转前端感觉时间有点不太够用,要想把前端从三件套到Vue到React全都吃透还是挺费时间的;转Android倒是时间够用也不卷,毕竟有本科毕设经历了捡起来也容易,但是Android在大家的说法里已经凉了好几年了,而且相当于完全换了赛道。不太敢冒险。想咨询下大家的意见,看看自己选择哪条路比较好。我也给自己几天思考时间,大概11月之前做好决定。 #参加完秋招的机械人,还参加春招吗?# #机械人春招想让哪家公司来捞你?#
铠甲合体:确实,感觉Java人真的太多了
点赞 评论 收藏
分享
5 40 评论
分享
牛客网
牛客企业服务