在此,将有赞的前端质量保障体系进行总结,希望和大家一起交流。 先来全局看下有赞前端的技术架构和针对每个不同的层次,主要做了哪些保障质量的事情: ? ?...有赞的 Node 技术架构分为业务层、基础框架层、通用组件和基础服务层,我们日常比较关注的是基础框架、通用组件和业务层代码。...一、UI 自动化 很多人会认为,UI 自动化维护成本高、性价比低,但是为什么在有赞的前端质量保证体系中放在了最前面呢?...第一版实现了最简功能,后续再深挖需求,可以做到前端代码变更的精准测试。 ? 五、sentry 报警 在刚接触前端测试的时候,js 的报错没有任何追踪,对于排查问题和定位问题有很大困扰。...coder , 作者 有赞技术
最近在面试,碰到一些有意思的笔试题,将它记录下来分享给大家也在面试前端的小伙伴们。
最近朋友内推面试了几家公司(货拉拉、虾皮、有赞、乐信、Qtrade苹果树、富途、涂鸦、OPPO、微保、微众、元戎启行),也收获了满意的offer。整理了下面试遇到的问题,作为记录。...前端模块化:CommonJS,AMD,CMD,ES6 import 和 require 导入的区别 import 的ES6 标准模块;require 是 AMD规范引入方式; import是编译时调用,...前端监控 前端监控通常包括行为监控(PV/UV,埋点接口统计)、异常监控、性能监控。 一个监控系统,大致可以分为四个阶段:日志采集、日志存储、统计与分析、报告和警告。...**崩溃和卡顿有何差别?...前端安全 同源策略:如果两个 URL 的协议、域名和端口都相同,我们就称这两个 URL 同源。因为浏览器有cookies。
有赞作为一个商家服务公司,通过产品和服务,帮助互联网时代的生意人成功。在新零售的浪潮下,有赞零售为商家提供不同规模的门店和网店经营解决方案,帮助零售商家们快速进入新零售时代。...在充分分析零售行业业务场景,员工角色管理方案的不断探索讨论后,权限系统 SAM(Security Access Manager)应运而生,SAM 是有赞零售在员工角色权限管理道路上探索的里程碑,支持着零售...PC、App 和 Pad 产品的权限业务,任何一家使用了有赞零售的零售店都可以通过 SAM 权限系统提供的服务来灵活的给店里员工灵活分配角色,责任到人,以此提高店铺运转效率;支撑零售业务的同时,抽象出了一套权限管理框架...有赞零售系统基于 SAM 实现的角色对于资源的访问控制主要是 API 校验和菜单渲染,任何一家零售店登入有赞零售系统后,点击页面中的某一个菜单或者页面元素(按钮,链接…),都会进行菜单渲染以及 API...零售中台的支持 零售中台是有赞零售的一个旗舰型产品,旨在为商家提供一个覆盖线上多渠道线下多门店的全渠道解决方案,并利用数据化运营思路帮助商家拉新获客、提高复购。
解答: 使用indexOf() 如果存在则返回位置,不存在则返回 -1 4.有表达式 [1<2<3,3<2<1] , 运行后结果是多少? 解答: [true,true] ?
谁也不知道我们到底有多少个指标,更没有沉淀出指标资产。 制作指标需要人工咨询数仓开发,口口相传,没有工具提供支撑。...只要数仓内部自己有统一的规划即可。然后就可以导入中间层的表到指标库。 第二步:数仓定义原子指标,维度,修饰词。...2.6 指标购物车与我的 API 单个指标的技术口径确定以后,仍然有一些问题需要解决: 需要对单个派生指标进行调度定时产生数据。...指标库通过集成有赞数据开发平台解决1,2,3问题,通过集成统一数据服务平台解决问题4。 ?...指标库在有赞的实践体现了我们对指标数据定义、生产、使用等过程的流程规范化与平台化的一种尝试。当然,指标库在有赞还刚刚起步,还有众多挑战与困难等待着我们去克服。
来源:有赞技术团队 原文:http://tech.youzan.com/queuing_delay/ 延迟队列,顾名思义它是一种带有延迟功能的消息队列。 那么,是在什么场景下我才需要这样的队列呢?
在有赞最开始做容器化是为了快速交付开发测试环境,在容器化的过程中,我们碰到过容器技术、运维体系适配、用户使用习惯改变等各种问题,本文主要介绍有赞容器化过程中碰到的问题以及采取的方案。...有赞环境 上面是有赞大致的研发流程,在标准流程中我们有四套稳定环境,分别是 Daily 环境、Qa 环境、预发环境和测试环境。...随着有赞多云架构的发展以及越来越多的云厂商支持容器 overlay 网络和 vpc 网络打通,弹性资源的问题才得到了缓解。...有赞有专门的日志系统,我们内部叫天网,大部分日志以及业务监控数据都是通过 sdk 直接打到天网里去了,所以容器的标准输出日志仅仅作为一种辅助排查问题的手段。...目前我们生产环境容器化准备基本完成,生产网已经上了部分前端 nodejs 应用,其他应用也在陆续推动中,希望以后可以分享更多生产环境中的容器化经验。
小结 基于以上思考,同时考虑到某个 Flutter 业务模块可能会引入到不同的 App 中,同时考虑到某个业务实现方式方面的解耦(某个业务可能用 native, flutter, weex 开发),有以下方案...六、总结 以上比较全面的描述了有赞的 Flutter 混编方案,目前有赞已经在内部使用的App上使用 Flutter 开发了一些页面作为试点。...后续会考虑在线上 App 试点,目前正在进行 Flutter 基础库的搭建,之后会专门有文章分享。
路径、title或约定的dom元素 无痕埋点的优势有: 前端接入成本低,不需要额外开发 用户动作收集完整,不会漏失 但同时也会存在以下问题: 有用、没用的数据都会收集 无法采集到特殊的行为动作、业务参数...代码埋点的优势有: 事件标识明确 业务参数丰富 事件的触发方式可以灵活自定义 分析更方便、精确 随之而来的是以下问题: 前端代码的开发、管理成本 只能收集到事件上线之后的数据 在业务需求复杂,无痕埋点收集到的信息无法支持分析时...四、埋点sdk 为简化前端同学的埋点开发工作,使其只需要关注于业务本身,并对埋点的一些约定进行必要的约束,有赞开发了多个端(js/小程序/android/ios/java)的埋点sdk。...七、埋点管理平台 有赞的早期阶段,所有业务的埋点方案都是记录在wiki中。...PM确认开发资源及排期(前端、分析同学) 相关同学设计并在平台上登记埋点方案,设计完成后前端、分析同学对埋点方案进行评估 前端同学根据埋点方案进行开发 开发完成后,前端和PM对埋点进行测试,确保上线前所有事件均测试通过
一、背景介绍 有赞早期业务跑在一个单体php工程上,随着业务发展,性能拓展性已经满足不了需求,为了后续发展,底层开始微服务化,整体转向dubbo框架。...测试过程中会发现只是自身应用代码一个修改,会导致对外暴露的接口逻辑发生很大变动,此时测试人员需要判定出这个对外暴露的接口对上层应用到底有多大影响; 业务快速迭代导致测试时间不断压缩,全量回归是一个很困难的事情...二、整体方案设计 对于上面的痛点,可以分为三步走;第一步修改过的代码如何识别,第二步分析出自身应用有哪些接口受到影响;第三步获取上层业务方受到的影响;设计要点如下: 识别变更的代码:上线代码和master...静态分析采用字节码分析,同时补充了桥接来解决部分多态问题;动态分析采用了和主流调用链技术一致的javaagent来对代码进行织入,为了防止大量织入导致性能变差,只在qa环境进行织入; 对于应用间链路查询,由于有赞内部很早就有一个调用链系统...要点如下: 对于字节码分析,有很多字节码操作工具,ASM/bcel/Javassist都可以,使用方法都类似,随便选择一个就行; 对于invokedynamic指令,单纯按照字节码指令指向的是一个引导方法
在经过多次的迭代、测试、优化后,有赞日志平台于2019年上线。 有赞日志平台 ---- ? 有赞日志平台架构图。底层依赖有赞的通用服务,比如监控告警平台,消息平台。...前端页面包含了商家设备查询、日志回捞入口以及日志筛选入口。移动端的日志库ZanLogger,依赖了有赞移动的长链接库、设备信息库、配置中心库、网络库以及安全库。...日志平台接入了有赞的监控告警平台,error级别的日志会上传到告警平台,通过短信、电话、企业微信、邮件的方式通知开发的同学。 1.3 日志 SDK 性能卡顿 传统方式写入每一条日志,都直接写入到文件。...日志完整性 在日志系统开发中,日志丢失问题也是需要重点关注和解决的,通常日志丢失有以下几种情况: 用户强制退出应用 应用意外退出,其中包括由于crash闪退、内存不足,系统回收等情况 由于日志系统自身缺陷导致无法写入或写入不全...现在,ZanLogger已经接入有赞微商城、有赞零售、有赞精选、有赞美业、有赞会议等App,日志种类也更加丰富。客服提交工单,开发根据工单上的用户id拉取日志,分析解决问题,大大降低了沟通的成本。
作者:轻鸿 团队:中间件 前言 有赞发展初期,随着公司业务的增长,原本许多单机上定时执行的 crontab 任务越来越多,配置的维护成本变高,运行结果不能可视化,管理不统一,存在单点风险,运维和监控空白等等诸多弊端的显现...业务等级高的应用当然不希望因为业务等级低的应用有大量任务的回调而导致它本身的回调被延迟。其实任何一个业务方都不希望自身的任务回调被其他业务所影响。...总结 本文从整体上介绍了有赞调度系统 TSP 产生的背景以及解决的问题,同时重点介绍了涉及的主要模块的细节设计,最后对一些未来计划进行了介绍,展望了部分计划中的特性;TSP 是有赞调度系统的历史沉淀,后续会在此基础上不断迭代和完善
其目的是为了简化Java的开发难度 C.FireFox和IE存在大量兼容性问题的主要原因在于他们对javascript的支持不同上 D.AJAX技术一定要使用javascript技术 5、foo对象有att...1256657776588 document.write(Number(test4)); 输出 999 document.write(Number(test5)); 输出 NaN 8、关于IFrame表述正确的有:...并可以动态更改 B.在相同域名下,内嵌的IFrame可以获取外层网页的对象 C.在相同域名下,外层网页脚本可以获取IFrame网页内的对象 D.可以通过脚本调整IFrame的大小 9、关于表格表述正确的有:...B.表格中可以包含CAPTION元素 C.表格中可以包含多个TBODY元素 D.表格中可以包含COLGROUP元素 E.表格中可以包含COL元素 10、关于IE的window对象表述正确的有:...DIV有回车,SPAN没有 3、结合text这段结构,谈谈innerHTML outerHTML innerText之间的区别。
58同城前端笔试单选题 1.
有哪些可能引起前端安全的问题?跨站脚本 (Cross-Site Scripting, XSS): ⼀种代码注⼊⽅式, 为了与 CSS 区分所以被称作 XSS。...等;iframe的滥⽤: iframe中的内容是由第三⽅来提供的,默认情况下他们不受控制,他们可以在iframe中运⾏JavaScirpt脚本、Flash插件、弹出对话框等等,这可能会破坏前端⽤户体验...参考:前端进阶面试题详细解答代码输出结果Promise.resolve('1') .then(res => { console.log(res) }) .finally(() => {...懒加载对服务器前端有一定的缓解压力作用,预加载则会增加服务器前端压力。...说一说什么是跨域,怎么解决因为浏览器出于安全考虑,有同源策略。也就是说,如果协议、域名或者端口有一个不同就是跨域,Ajax 请求会失败。
昨天突然看到竟然超过500赞了,索性也在公众号发一下,表示纪念吧。 本文从前端工程,团队协作,生产部署的角度,介绍架构人员需要掌握的 git 实践能力。...目前最流行的分支管理策略,也称工作流(Workflow),主要包含三种: Git Flow GitHub Flow GitLab Flow 我司前端团队结合实际情况,制定出自己的一套分支管理策略。...当 develop 分支有更新并且准备发布测试时,staging 要通过 rebase 合并 develop 分支,然后将最新代码发布到测试服务器,供测试人员测试。...有了规范之后,光靠人的自觉遵守是不行的,还要在流程上对提交信息进行校验。 这个时候,我们要用到一个新东西 —— git hook,也就是 git 钩子。...接下来我会基于 GitHub Action 单独出一篇详细的 react 前端项目 CI/CD 实践
一、有赞测试环境背景历程 有赞从最早到现在一共有过 dev(已废弃),daily,qa,perf,pre5 套环境,其中 perf 环境,是专门用来做性能测试的: ?...二、有赞测试环境多环境实现原理 刚才我们讲了有赞环境的历程,提到了 sc 多环境方案,想必大家关注到了,现在就开始讲下 sc 多环境的解决方案。...后来随着业务发展,我们将部分业务入口从 iron 代码剥离出来,形成一个个独立的前端是 node 的微服务,简单分别讲下两种不同的入口实现 sc 方式。 第一种,iron 入口。...三、有赞环境推动 上一个环节已经大致的介绍了有赞 service chain 全链路标识透传隔离方案的技术实现,这个环节开始介绍我们在确定技术实现方案之后,做的一些列推动的措施。...四、有赞环境与持续交付 有赞 2018 年提升研发效率,很重要的一个动作就是 devops,为此我们做了 CICD 平台帮助我们更高效的进行日常项目管理。
1.1 有赞单元测试1.0架构 ?...以有赞中台某应用为例,应用部署是微服务架构,对外提供dubbo服务,当前的单元测试,采用了分层测试框架,根据代码的分层,分为 Service 层测试,Biz 层测试,外部服务访问层测试,DAO 测试,Redis...PowerMockRunner.class) @PrepareForTest( { YourClassWithEgStaticMethod.class }) public class YourTestCase { ... } 四、有赞基于...有赞单元测试框架,数据库层使用 h2 数据库代替测试库,隔离单元测试数据与测试库数据,在单元测试结束后自动清理数据,避免污染测试库数据及被测试库数据影响,基于 DbUnit 可以通过 xml 构造 DB...5.1 关于内部重构的痛点,我们基于有赞单元测试框架解决了这个问题 ?
领取专属 10元无门槛券
手把手带您无忧上云