后端开发工程师 (Node.js/GraphQL)
职位概述
主要职责
- GraphQL API开发:为社交网络功能设计和实现GraphQL模式、解析器和变更
- 数据库架构:设计和优化用户档案、连接、帖子和消息的数据库模式
- 实时系统:使用WebSockets实现消息、通知和实时更新的实时功能
- 身份验证和授权:使用OAuth、JWT和基于角色的访问控制实现安全的身份验证系统
- 搜索和推荐:为用户和内容构建复杂的搜索算法和推荐引擎
- 性能优化:优化API性能,实现缓存策略和数据库查询优化
- 集成服务:与第三方服务集成,包括电子邮件、推送通知、文件存储和分析
- 数据处理:实现内容索引、通知和数据分析的后台作业处理
技术要求
- 后端框架:Node.js、Express.js或NestJS
- GraphQL:Apollo Server、GraphQL模式设计、DataLoader用于N+1优化
- 数据库:PostgreSQL、Redis缓存、Elasticsearch搜索
- 实时:WebSockets、Socket.io或GraphQL订阅
- 身份验证:OAuth 2.0、JWT、Passport.js
- 云服务:AWS(EC2、RDS、S3、Lambda、SQS)或Google Cloud Platform
- 消息队列:Redis、AWS SQS或RabbitMQ用于后台处理
- 监控:DataDog、New Relic或类似的APM工具
主要后端功能
- 用户管理:用户档案、偏好设置、账户设置
- 社交图谱:好友/连接管理、网络分析、共同连接
- 内容管理:帖子、图片、评论、点赞、分享及隐私控制
- 消息系统:直接消息、群组对话、消息线程
- 搜索引擎:用户搜索、内容搜索及高级过滤
- 推荐引擎:好友建议、内容推荐、热门话题
- 通知系统:实时通知、推送通知、邮件通知
- 分析平台:用户参与跟踪、内容性能、平台分析
经验要求
- 5年以上Node.js后端开发经验
- 具有GraphQL API设计和实现的丰富经验
- 精通关系数据库(PostgreSQL)和NoSQL数据库
- 具有云平台经验(AWS、GCP或Azure)
- 了解微服务架构和容器化(Docker、Kubernetes)
- 具有实时系统和WebSocket实现经验
- 理解安全最佳实践和数据隐私法规(GDPR、CCPA)
加分项
- 具有推荐系统机器学习经验
- 了解搜索技术(Elasticsearch、Solr)
- 具有事件驱动架构和消息队列经验
- 熟悉移动应用后端要求
- 具有社交媒体或网络平台经验
- 了解数据管道和ETL流程
薪酬福利
- 薪资:根据经验和资质提供具有市场竞争力的薪酬
- 完善的社会保险和住房公积金
- 商业健康保险覆盖
- 灵活的工作安排和带薪休假
- 专业发展预算和培训机会
- 提供最新的MacBook Pro和开发工具
- 成长型技术平台的股票期权
- 会议参与和技术培训支持
工作环境
- 现代化办公环境,提供灵活工作选择
- 协作创新的团队文化
- 最先进的开发工具和基础设施
- 定期团建和知识分享活动
- 参与前沿后端技术开发的机会
- 职业成长和晋升机会
我们是一个致力于多元化和包容性的平等机会雇主。欢迎所有合格的候选人申请。