1、熟悉网络协议(TCP、HTTP)
2、熟悉golang,掌握golang变更编程以及性能优化
3、熟悉mysql,能够根据业务设计出合理的数据表,并且进行sql优化
4、熟悉redis,能够根据业务场景合理的使用redis,提高系统性能
5、了解hive,能够使用hive进行基本的数据分析
6、熟悉常用的设计模式,能够根据业务场景选择合适的设计模式,提高代码质量
1,feed流推荐系统
软件环境:golang、redis、mysql
项目描述:从0到1完成了整个feed流系统搭建,完成了从发布动态、审核动态、动态推荐、动态消息通知等功能。整个项目的难点:1,用户大量的阅读记录的处理;2 动态feed流每个位置要按照不同的算法来推荐,需要保证代码的精简和优雅;3保证接口响应速度,让用户刷feed流痕流畅;4 高峰期大量的用户阅读记录插入对数据库的压力。针对以上问题做了一下措施:1,对阅读记录进行水平分表,减小单表数据量;2 面向接口编程,使用简单工厂设计模式,充分解耦;3,使用redis 缓存每种算法推荐出的动态,降低对数据表的查询压力;4 使用redis 的list 进行流量削峰,降低了高峰期对数据库的写入压力。目前该功能是整个产品的核心功能之一,用户反馈良好。