埋点数据作为推荐、搜索、产品优化的基石,其数据质量的重要性不言而喻,而要保障埋点数据的质量,埋点验证则首当其冲。工欲善其事必先利其器,要做好埋点验证会面临很多技术挑战:易用性、准确性、实时性、稳定性、扩展性,如何攻克这些挑战呢,其实还是技术,这也是本文的主旨所在。
问题和思考: 1.序列化参数有枚举属性,序列化端增加一个枚举,能否正常反序列化? 2.序列化子类,它和父类有同名参数,反序列化时,同名参数能否能正常赋值? 3.序列化对象增加参数,反序列化类不增加参数,能否正常反序列化? 4.用于序列化传输的属性,用包装器比较好,还是基本类型比较好?
抖音 Feed 容器在推荐、关注、同城、朋友等多个场景中使用,每个场景都有自身的逻辑和业务,最终汇总在 FeedViewController 中,随着业务的迭代,代码越来越臃肿,面临如下的问题:
KubeZoo 是由字节跳动自研的 Kubernetes 轻量级多租户项目,它基于协议转换的核心理念,在一个物理的 Kubernetes Master 上虚拟多个租户,具备轻量级、兼容原生 API 、无侵入等特点,是一种打造 Serverless Kubernetes 底座的优良方案。
1.公司内部监控环境多样( Web 应用、小程序、Electron 应用、跨端应用等等), SDK 如何保证底层逻辑的复用、上层逻辑的解耦。 2.在业务庞杂、监控需求多样的背景下, SDK 如何做到足够灵活,如何实现插件化,并且支持业务自行扩展的。 3.大型 C 端业务非常注重业务自身的正确性和性能,监控 SDK 如何保证原有业务的正确性;如何保持 SDK 自身的性能,减少对业务的影响。 4.接入业务众多,上报量级近千万 QPS ,在日常需求迭代中, SDK 是如何确保自身稳定性的。
设计文档是软件工程设计中的重要组成部分。本文根据 Google 及其它公司编写设计文档的经验,并结合实际应用加以完善,系统地介绍设计文档的目的、结构及参考模板,希望推动设计文档在团队中落地,传承并沉淀经验,构建良好的文化氛围。