Senior Backend Developer .NET
ExternalPrepare for this interview
EliteAI-generated questions, company research, and talking points tailored to this role
About the role
我们的酒店管理解决方案由多个面向领域的微服务(domain-oriented microservices)组成,并由数个跨职能团队共同开发。您将参与开发面向酒店行业的分布式系统的一部分。该系统由多个面向领域的微服务组成,由若干跨职能团队共同开发。通过您的工作,您将为全球数以千计酒店员工的工作体验带来改善。 随着业务的发展,需招募高级Backend开发工程师若干名,详情如下: 主要职责范围 1. 系统功能的开发、实施与维护 运用领域驱动设计(Domain-Driven Design)的原则,在现有的微服务(microservice)生态系统中设计可扩展的解决方案。 实现复杂的酒店管理业务逻辑,包括预订、费用结算和报表功能。 在系统架构不断进化的过程中,确保其兼容性。 设计容错组件,以应对高吞吐量的数据处理任务。 与产品团队协作,将业务需求进行技术转化。 2. 为第三方构建专用的数据导出解决方案 为与酒店管理系统对接的第三方系统设计并实现稳健的 API 集成。 为酒店管理系统(PMS)、渠道管理系统(Channel Management)及收益管理工具创建数据导出机制。 为B2B集成实施安全的身份验证和授权机制。 开发支持多种格式(XML, JSON, CSV)的基于文件的导出解决方案。 确保外部数据交换的一致性和可靠性。 管理API版本控制,并维护现有集成兼容性。 3. 为分析和报表目的构建可扩展的数据聚合策略 设计高效的数据聚合管道,用于酒店经营分析和商业智能(BI)。 对于酒店大数据场景设计实时和批处理解决方案。 创建针对入住率、收入和运营指标报表的优化数据模型。 开发处理复杂酒店数据转换的ETL(抽取、转换、加载)流程。 确保来自多个数据源的数据质量和一致性。 与数据分析师协作,理解报表需求并优化查询性能。 4. 每日进行代码审查并参与评审流程 专注于代码质量、安全性和性能进行彻底的代码审查。 确保代码符合编码标准、SOLID原则及既定的架构模式。 就实现方法提供富有建设性的反馈并提出改进建议。 审查数据库查询,寻找优化机会并发现潜在的性能问题。 验证错误处理、日志记录和监控功能的正确实施。 提交带有清晰描述和上下文的、文档齐全的拉取/合并请求(Pull/Merge Requests)。 及时响应审查反馈并落实改进建议。 参与关于实现方法和设计决策的技术讨论。 遵循既定的分支策略和合并流程。 确保所有代码变更都包含适当的单元测试和集成测试。 保持较高的代码覆盖率和质量。 5. 使用高级工具优化API和报表中SQL查询的性能 分析并优化处理大型酒店数据集的复杂PostgreSQL查询。 为时序酒店数据设计高效的数据库索引和分区策略。 实施查询优化技术,包括适当的连接(Join)策略和子查询优化。 使用数据库性能分析工具识别并解决性能瓶颈。 监控查询执行计划,并在适当情况下实施缓存策略。 优化Entity Framework查询并实施高效的数据访问模式。 6. 在敏捷开发的框架下进行协作式、迭代式的软件开发 积极参与例会、迭代规划和评审会议等。 与质量保证(QA)、产品构架以及产品团队等跨职能团队进行有效协作。 通过提供准确的工作量预估和技术洞察,参与迭代规划。 在保持代码质量和交付时间线的前提下,适应不断变化的需求。 通过自动化测试和监控实践持续集成与持续部署(CI/CD)。 参与生产环境问题的事件响应和事后分析(Post-mortem analysis)。 技术需求 C# 9, .NET Core:使用最新的C#特性和现代.NET生态系统。 PostgreSQL:高级SQL特性、JSON支持、分区及性能调优。 微服务:面向服务的架构、服务间通信及分布式系统模式。 Swagger:API文档生成、测试及客户端代码生成。 Docker:容器化、编排及部署策略。 Redis:缓存、会话管理及分布式数据结构。 Kafka:事件流处理、消息队列及服务间的异步通信。 Elastic Search(加分项):全文搜索、日志聚合及分析。 Visual Studio 2022 / Resharper / Rider:配备高级调试和重构工具的专业开发环境。 Your job will be to develop a part of a distributed system that serves the hospitality industry. The system consists of many domain-oriented microservices developed under a few cross-functional teams. You can bring a smile to the faces of thousands of people working in hotels across the globe. Key Areas of Responsibilities Designing, implementing, and maintaining new functionalities within a living system Design scalable solutions within existing microservices ecosystem using Domain-Driven Design principles Implement complex business logic for hotel management operations including reservations, billing, and reporting Ensure backward compatibility while evolving system architecture Design fault-tolerant components that handle high-volume hospitality data processing Collaborate with product teams to translate business requirements into technical specifications Building dedicated export solutions for 3rd parties Design and implement robust APIs integration for external hotel management systems Create data export mechanisms for property management systems, channel managers, and revenue management tools Implement secure authentication and authorization for B2B integrations Develop file-based export solutions supporting various formats (XML, JSON, CSV) Ensure data consistency and reliability in external data exchanges Manage API versioning and maintain backward compatibility for existing integrations Building scalable aggregated data strategy for analytical and reporting purposes Design efficient data aggregation pipelines for hotel performance analytics and business intelligence Implement real-time and batch processing solutions for large-scale hospitality data Create optimized data models for reporting on occupancy, revenue, and operational metrics Develop ETL processes that handle complex hotel data transformations Ensure data quality and consistency across multiple data sources Collaborate with data analysts to understand reporting requirements and optimize query performance Performing code reviews daily and participating in code review process Conduct thorough code reviews focusing on code quality, security, and performance Ensure adherence to coding standards, SOLID principles, and established architectural patterns Provide constructive feedback on implementation approaches and suggest improvements Review database queries for optimization opportunities and potential performance issues Validate proper error handling, logging, and monitoring implementation Submit well-documented pull/merge requests with clear descriptions and context Respond promptly to review feedback and implement suggested improvements Engage in technical discussions about implementation approaches and design decisions Follow established branching strategies and merge procedures Ensure all code changes include appropriate unit and integration tests Maintain high code coverage and quality metrics Using advanced tools to optimize performance of SQL queries used in APIs and reports Analyze and optimize complex PostgreSQL queries handling large hospitality datasets Design efficient database indexes and partitioning strategies for time-series hotel data Implement query optimization techniques including proper join stra
Your Match
How well this role fits your profile.
Company Intel
What employees say
Worked at Shiji Group? Share your experience