软通动力 电话面

#面经# #软件开发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 江苏

相关推荐

3 29 评论
分享
牛客网
牛客企业服务