面试官:
我看到你在简历中提到实现了一个检查浏览器 API 兼容性的工具,可以介绍一下么?
我:
(Situation) 好的,当时的情况实际上是一次线上的用户的舆情反馈说页面白屏/打不开,通过 JSError 日志的排查我发现最近出现大量类似 InterpObserver is not defined 的日志,同时和我最近一次发布的模块曝光需求时间线是差不多吻合的,所以很快定位到了是当时使用浏览器 InterpObserver API 做 DOM 曝光时没有考虑到兼容性的问题。
面试官:
那问题解决了么?
我:
是的,当时定位到问题后通过增加 polyfill 的方式很快解决了这个问题。**(Task)**后来我借着这个问题我自己也进行了思考,其实随着操作系统和浏览器的更新,越来越多的 JS/浏览器的新特性开始被支持。为前端开发带来便利的同时,也会带来一些不可避免的兼容性问题。兼容代码(polyfill)的忽视很容易造成不可预估的问题。但如果只依赖开发人员人工检查兼容性问题并不是最优雅的解决方案,毕竟人工的难免会有遗漏。所以我想是不是能够开发一个集成现有的兼容性检查规则的工具将这个过程自动化。
面试官:
不错,详细介绍一下具体过程吧。
我:
(Action) 恩,这个想法诞生之后我就去了解了一下常用的前端兼容性检查网站: