1、Java 基础
Java SE:Java核心语言特性,如集合、异常处理、IO、反射、泛型等
多线程与并发编程(Thread、ExecutorService、synchronized、ReentrantLock等)
数据结构与算法(链表、队列、栈、排序算法、查找算法等)
2、Spring 框架
Spring Boot:用于构建微服务和简化Spring应用程序开发的框架
Spring MVC:Web应用开发框架,处理HTTP请求与响应
Spring Data:简化数据访问层的技术,支持JPA、MongoDB、Redis等
Spring Security:提供认证和授权的框架
Spring Cloud:用于构建分布式系统和微服务的技术栈(如服务发现、配置管理、负载均衡等)
3、数据库相关
MySQL:关系型数据库,熟悉SQL查询、事务管理、索引优化等
Redis:内存数据库,常用于缓存、队列、计数器等
JPA/Hibernate:对象关系映射(ORM)框架,用于数据库与Java对象之间的转换
4、中间件与消息队列
Kafka、RabbitMQ:用于消息传递和异步处理
RocketMQ:分布式消息中间件,广泛应用于微服务架构
在过去的工作中,我参与了多个小程序项目的开发与维护,积累了丰富的小程序开发经验,以下是我在小程序项目和平台开发中涉及的主要技术领域和经验总结:
1. 小程序开发框架与技术栈
熟悉微信小程序开发框架,包括小程序的基本组件、页面生命周期、事件处理、页面路由等。
精通WXML、WXSS、JavaScript,能够高效地编写小程序前端页面和交互逻辑。
熟练使用小程序API,如用户授权、数据存储、云函数、支付等,能够根据需求进行定制化开发。
了解小程序云开发,使用云数据库、云函数等功能进行后端服务支持,减少服务器部署与运维成本。
熟悉小程序的网络请求(如wx.request),能够进行与后端的数据交互、文件上传、支付等操作。
2. 小程序用户认证与数据隔离
用户认证与授权:熟悉通过微信授权登录进行用户身份认证,获取用户基本信息、openid等;了解OAuth2.0认证机制,能够实现与平台账户系统的对接。
数据隔离与权限控制:针对多用户场景,设计并实现了数据隔离机制,确保每个小程序用户只能访问和修改自己的数据。通过数据库设计、API权限校验和中间件控制,实现不同用户的数据隔离和安全访问。
多账户管理:针对家庭账户或多人共享的情况,设计了灵活的账户和权限管理机制,确保在一个小程序中,多个用户对同一资源进行独立操作时不会互相干扰。
3. 后端服务与平台开发
熟悉基于Spring Boot的后端开发框架,能够快速开发RESTful API服务,与小程序前端进行数据交互。
使用MyBatis进行数据库操作,进行SQL查询优化,提升系统的性能与响应速度。
熟悉消息队列(如Kafka、RabbitMQ)在高并发场景下的使用,确保小程序与平台的高效通信。
设计和实现了用户数据存储与同步,确保小程序与平台数据的一致性及实时更新。
4. 小程序支付集成
熟悉微信支付集成,能够实现支付功能的接入、调试和优化。
设计了订单与支付系统,包括订单创建、支付状态监控和支付结果回调处理。
解决了支付过程中可能遇到的问题,如支付凭证失效、支付超时、支付结果异步回调等,保证了支付系统的稳定与安全。