Professional Summary
Senior Full-Stack / Backend Engineer with over 7 years of Java development experience and a proven track record of full-stack delivery across iOS, PHP, and Java. Expert in Spring Boot ecosystem and microservices architecture. Passionate about writing clean, maintainable code and ensuring high-quality deliverables. Strong advocate of DevOps and Deployment, experienced in CI/CD pipelines and cross-team collaboration. A fast learner with demonstrated ability to quickly master new technologies (e.g., Python Flask) to meet business needs. Possess professional English reading and writing skills (CET-6) and fluent in Cantonese.
Technical Skills
Backend Development
Frontend Technologies
Database & Cache
DevOps & Deployment
Testing & Quality
Message Queue & Microservices
Languages
Project Experience
IaaS self-service platform
Backend development
Project description:A well-known insurance company plans to fully migrate its application systems to the cloud. It is faced with a large number of cloud resource delivery work orders. Previously, these work orders were mainly completed by on-site personnel from manufacturers who manually created orders for cloud services on the IaaS cloud platform. In order to improve delivery efficiency and accuracy, it is necessary to build a self-service platform. By utilizing the rich interfaces of the IaaS infrastructure, the automatic creation of cloud service instances on the IaaS cloud platform is realized through code. The main functions of the project include: basic configuration, role configuration and log audit, to-do module, service module, order implementation, and interface interaction with the IaaS cloud platform.
Achievements:
● Responsible for building the backend Spring Boot framework, designing the relational logic of database table structures (work order table, work order resource items, task table, task resource pre-allocation, task audit table, task audit work order resource configuration, etc.), writing robust data access interfaces, ensuring data integrity and consistency, optimizing interface performance, and improving system response speed.
● Interactions with the interfaces of IaaS cloud platforms will trigger cost-generating operations such as the deployment of real cloud hosts and the scaling of cloud hosts. To minimize such operations, the WireMock unit testing framework is introduced to simulate the effects by forwarding real interfaces through localhost.
● Changed from the manual operation of compiling, packaging, and uploading to the server to the automatic operation integrated into the company's self-developed CI/CD system.
Software Reliability Testing and Evaluation System
Python Backend development
Project description:This is a key project of the Scientific & Innovation Department of the 5th Research Institute of Electronics: it can automatically generate test input data according to reliability test profiles, perform modeling of set fault modes, support the automatic execution of test cases, support the automatic judgment of execution results, automatically generate test reports, and can carry out reliability parameter estimation, prediction, and model comparison analysis based on failure data, etc. Since I mentioned during the job application that I have mastered iOS, PHP, Java, and some Vue.js, the employer thought I have good learning ability and asked me to develop Python projects, and this project is developed using the Flask framework.
Achievements:
● A solution was designed to simultaneously extract all data of specific fields from an array in the HTTP response body and store them in a single variable. Initially, only regular expressions were used for processing, but they could only match the first occurrence and ignored all subsequent ones. Later, it was found that JSONPath expressions could be used to flexibly extract all data at the same time and save them to an array variable. The front-end uses the 'jsonpath-plus' component, and the back-end Python uses the 'jsonpath-ng' library.
● Use Enterprise Architect to draw activity diagrams, export the UML and import it into the system. The backend can parse out information such as different elements, connections, and their coordinates and return it to the frontend, which then draws a rough activity diagram style of the section based on the information.
Driving license training App
Backend development
Project description:Driving license training App provides convenient and transparent driving test services for students in various universities in Guangxi, China. The project is built using Maven and is divided into a user mobile terminal and a background management system. The mobile terminal has two modules: coach and student. The background is divided into merchant and administrator modules. In the entire project, students can apply for driving schools, make appointments for accompanying practice, practice test questions from subject 1 to 4, pay the application fees, and make installment repayments. Coaches can manage students and interact with them, and the background driving schools can manage their own information.
Achievements:
● Participate in the functional design of the project and complete the writing of module documents.
● Responsible for the development of mobile interface functions, completing the docking and testing.
● Complete the design and interface implementation of the student payment process and the installment repayment process functions.
Cantonese Cultural Creative Life Mall System
Backend development and partial admin interface
Project description: The Cantonese Cultural Creative Life Mall Museum system aims to create an online small mall platform that integrates the sale of cultural and creative products, merchant management, and user interaction. It focuses on Cantonese characteristic cultural and creative products to promote the digital development of the Cantonese cultural and creative industry.
Functional modules:
● Admin Management Module
It has the function of merchant creation, allowing for detailed entry of basic merchant information (store name, contact information, business categories, etc.), laying the foundation for subsequent merchant entry and independent operation. At the same time, it has the authority to control the status of merchant accounts (enable, disable) to ensure the security of platform transactions and standardized operations. Order data monitoring enables real-time viewing of order details (purchased products, amount, delivery address, etc.), handling after-sales issues, and keeping track of the platform's transaction dynamics.
● Merchant-side WeChat Mini Program module
The product management sub-module supports multi-image display of cultural and creative product details, accurately setting prices and inventory, writing product descriptions with rich Cantonese cultural charm to attract users to purchase; and can timely remove or update products based on sales data, seasonal themes, etc. Store information maintenance allows independent editing of store signs, profiles, business hours, etc., to enhance brand recognition and user trust.
● User-side WeChat Mini Program Module
The homepage recommendation displays popular merchants and selected cultural and creative products, integrating the forms of carousel images and popular lists, and incorporating visual designs with Cantonese elements to stimulate users' purchasing interest. The search and classification filtering functions help users locate their favorite cultural and creative products according to their preferences (price range, category, keywords). For membership card services, users can purchase membership cards (monthly card, quarterly card, annual card) as needed to enjoy exclusive discounts. When purchasing products, the preferential price is automatically calculated, which stimulates the growth of consumption frequency and amount. The shopping cart function supports batch settlement of multiple products and superimposed calculation of discounts, simplifying the purchasing process.
Achievements:
● Responsible for building the back-end Spring Boot framework, designing the association logic of database table structures (such as merchant table, product table, system user table, WeChat user table, order table, payment table, refund table, etc.), writing robust data access interfaces, ensuring data integrity and consistency, optimizing interface performance, and improving system response speed.
● Collaborated with the front-end team to interface front-end and back-end data interactions based on Restful API specifications, deeply participated in the development of some functions of the Vue2.6 management page, solved technical problems such as cross-end compatibility and abnormal data loading, and ensured the smooth operation of all ends of the project and the stable delivery of functions.
Marllon E-commerce Platform
Backend module development
Project description: Large-scale B2C e-commerce platform core system with millions of users, processing tens of thousands of orders daily. Using SpringCloud microservices architecture with service governance and gateway for automatic service registration, discovery, and invocation.
Technical challenges: The system adopts the SpringCloud microservice framework, splitting the entire system into multiple services, each of which is responsible for different functional modules. Through service governance and service gateway, automatic registration, discovery, and invocation of services are realized, and a unified RESTful API interface is provided to the outside. At the same time, due to the presence of a large number of asynchronous tasks in the system, we have also introduced xxl-job as a distributed task scheduling framework to realize the scheduling and execution of tasks.
In addition to the above-mentioned technical selections, various open-source middleware are also used for support, such as RabbitMQ as the message queue, ELK as the log system, and Openfeign as the RPC framework. In terms of operation and maintenance, we use Nacos for service registration and configuration management, and Sentinel for traffic control as well as circuit breaking and degradation.
At that time, there were a total of 5 engineers in the team involved in development and operation. I was responsible for the coupon module. Coupons usually have quantity limits, so in high-concurrency scenarios, the efficiency of users receiving coupons is easily restricted. If traditional database locks are used to implement this, it will lead to performance degradation and even deadlocks. To solve the problem of low collection efficiency, I introduced Redisson + database optimistic locking to improve concurrency while preventing overselling of inventory. When verifying and using coupons, I introduced RabbitMQ to asynchronously handle the notification process after successful verification.
Hicar Automotive Social Network Client
Independent backend development
Project description: Automotive social network client used by Canadian overseas Chinese, including user management, topic management, car friends circle management, dealership management, agent management and other functional modules.
Technical challenges: There are mainly the synchronous vehicle data module and the vehicle selection and search module. Since vehicle data needs to be synchronized with a third-party interface, I first obtain all vehicle brands, which are about 40 in number. I use asynchronous batch execution, ensure thread safety through redis, and retain a field to record whether the synchronization is complete. Then, I call the interface for each brand one by one, insert data into Mysql in batches, execute the process for all brands in a loop, and finally modify the field to indicate completion. In the vehicle selection and search module, several automobile configuration parameters require full-text fuzzy search. I synchronize the vehicle data in Mysql to the Elasticsearch system, and start the Elasticsearch synchronization immediately after all vehicle information is synchronized to Mysql. This can greatly optimize the search speed.
Voice Live Streaming App
Backend development
Project description: Multi-user simultaneous voice live streaming social app, including room management, real-time mic-connected user management, gift giving, top-up, chat, leaderboard and other features.
Technical challenges: Secondary development of non-separated frontend/backend code, needing to handle Java business logic and HTML admin management. Gift giving and mic connection features require efficient message processing and state management, backend provides interfaces for IM service to handle real-time notifications.
GitLab Developer Community System
Backend development
Project description:This system aims to build a community platform for Gitlab, which facilitates developers to ask and answer questions, publish articles, post videos, and organize online and offline activities, among other things.
Technical challenges:The core functions need to include the interface development for community partners, developer columns, and activity functions, as well as the joint debugging of related function management pages. This allows registered users to submit articles, videos, or activities to the background administrators, which will be immediately published on the community platform once approved.
Role Map
Backend Engineer
Project description: Provides iOS and Android clients for employees to use, learning courses for different job roles; admin management supports super admin and enterprise account login and operations. Enterprise accounts can number in hundreds to thousands with no limit in principle. Can send private messages to super admin accounts in the backend. Enterprise accounts can manage articles, videos, assignments and other learning content, learning themes, learning paths and other systems, track their employees' learning progress, other enterprises cannot view.
Technical challenges:
● Backend permission management functionality uses database design with user table, role table, permission table, user-role association table, and role-permission association table. Different pages edit different user, role, and permission details. Code implementation grants certain permissions to roles or removes permissions from roles, also assigns roles to users or removes roles from users. When administrators modify authorization information, user-role association table and role-permission association table need to be updated.
● Login and registration functionality, including enterprise WeChat QR code scanning, needs to support both HttpGet and HttpPost callbacks. For Get requests, parse parameter values, use existing token combined with obtained parameters timestamp, nonce, echostr to recalculate signature, then check consistency with parameter msg_signature for legitimacy verification, then decrypt echostr and return to enterprise WeChat. For Post requests, verify msg_signature and decrypt Encrypt to get plaintext message structure ticket saved to redis. Enterprise WeChat QR code login uses pre-saved ticket in redis to request accessToken, combined with parameter code to make another request for QR code login user information, then proceed with subsequent login logic.
● Personal center and employee management Repository uses strategy pattern to conditionally access redis CacheStrategy or mysql DaoStrategy to reduce response time for various interfaces.
● Statistical analysis functionality monitors user online status using Netty's ChannelInboundHandlerAdapter class as base class, overriding channelActive() method to establish client connection channels, overriding channelInactive() to monitor channel disconnect events, then periodically collecting user online status and storing to database.
GAC-Sofinco WeChat Website
Backend Engineer
Project description: A project in collaboration with GAC-Sofinco automotive finance company, WeChat H5 specific, providing WeChat authorization login, vehicle model list, loan method introduction, loan calculator and other functions.
Technical challenges: Developed WeChat authorization login, logistics data updates, vehicle management, car loan calculator functionality. Technology stack: Spring Boot 2.08 framework, Gradle for package management and building, MySQL 5.7, Redis for session storage, MyBatis as persistence layer framework, Flyway for database version management.
Work Experience
Education
Additional Information
Certifications
College English Test Band 6 (CET-6)
https://www.linkedin.com/in/ron-zhang-619757109
Personal Interests
Technology research, singing, badminton, tennis, Duolingo learning