1. 项目包含了几个业务,我负责的是其中一个业务,主要是负责该业务的需求分析、设计、开发和测试等工作。 2. 项目大概分了几个系统,我所在的项目主要是一个单体应用,没有分成多个系统。 3. 在项目中遇到的问题主要是性能问题和安全问题,我们通过优化代码和加强安全措施来解决这些问题。 4. 我们采用了分层架构,将应用分成了表现层、业务逻辑层和数据访问层,这样可以使得应用更加易于维护和扩展。在考虑架构时,我们主要考虑了应用的可扩展性、可维护性和性能等方面。 5. 从controller到dao层的结构是:controller -> service -> dao,其中controller负责接收请求,service负责业务逻辑处理,dao负责数据访问。 6. Spring Boot的特性包括自动配置、快速开发、简化部署等。 7. Spring Boot的启动过程主要包括加载配置文件、创建Spring容器、扫描注解等步骤。 8. MyBatis新建一个查询需要编写Mapper接口和对应的SQL语句。 9. #{}和${}都是MyBatis中的占位符,其中#{}会将参数转义后再拼接到SQL语句中,而${}则直接将参数拼接到SQL语句中。 10. 查询进行分页可以使用MyBatis提供的分页插件,或者手动在SQL语句中添加limit语句。 11. MyBatis有缓存,分为一级缓存和二级缓存。 12. 更新数据之后,清空的是一级缓存。 13. Java的集合包括List、Set、Map等,其中Map是一种键值对的数据结构。 14. Java的锁包括synchronized关键字、ReentrantLock等,可以用来保证线程安全。 15. synchronized是非公平锁,公平锁和非公平锁的区别在于获取锁的顺序,公平锁会按照请求的顺序获取锁,而非公平锁则不一定。 16. 非公平锁是通过CAS(Compare And Swap)算法实现的,当一个线程请求锁时,先尝试获取锁,如果获取成功则直接执行,否则就进入等待队列。 17. MQ从发送到接收的流程包括消息的生产者将消息发送到MQ服务器,MQ服务器将消息存储到队列中,消息的消费者从队列中获取消息并进行处理。 18. 重复发送消息可以通过消息的唯一标识来进行判断,如果消息已经存在则不再发送。 19. 消息丢失可以通过消息的持久化来避免,即将消息存储到持久化存储中,以便在服务器宕机或重启后能够恢复消息。 20. Redis的数据结构包括字符串、哈希、列表、集合和有序集合等。 21. Redis可以通过RDB和AOF两种方式进行持久化,其中RDB是将内存中的数据定期保存到磁盘中,而AOF则是将每个写操作记录到磁盘中。 22. 我想问一下,您对我的回答是否满意?是否还有其他问题需要我解答?
49 6

相关推荐

西南山:哥,你的技能是在报菜单吗
点赞 评论 收藏
分享
牛客网
牛客企业服务