发现了一个令我震惊的前端面试绝杀题--移动端浏览器兼容

2017-05-08 23:19:52 +08:00
 jackon

有没有遇到过移动端的浏览器兼容问题?

最近一周,面试了 20+ 人,知道这里存在问题的,不到 4 个人。
而这四个人里,大概只有 1 个哥们实际处理过。

大部分人都是反问我:
Safari / chrome / Firefox 上没有多少兼容性问题吧?
我一直认为是一个非常基础的问题,
认真工作半年以后都会知道的基础问题。

我想,这应该是因为,
大部分的项目,
没有用户反馈/投诉机制,
前端没有监控能力,
所以,根本不知道这里有多少的体验问题。

不知道是我们公司收到的简历质量太低,
还是当前业界现状。

做为一个非专业的前端,列举几个我知道的坑

  1. 虚拟键盘引起的兼容问题。比如: http://stackoverflow.com/questions/24557780/ios-7-fixed-footer-toolbar-breaks-on-virtual-keyboard
  2. touch 事件引起的。-- 手机端需要单独处理,但手机浏览器之间是否一致,不了解。
  3. iOS 和 android 系统导致的差别。比如,微信内置浏览器。
  4. 微信浏览器,也可以列一条专门吐槽了。
  5. 安卓厂商们魔改(魔法一般的莫名其妙的修改)过的操作系统。三星手机都遇到过,大概是 input 内的元素居中有问题。至于国内厂商们魔改出来的奇葩兼容问题,罄竹难书。

不是说需要面试者回答出具体的细节,
而是,至少应该知道这里有坑吧。
即使自己的项目没有能力检测出这些 bug,
难道也没有听朋友们聊起过?
或者,看文档的过程中,就没有一篇文章提到过这类问题?
在起码,准备面试的时候,经典面试题里也可以搜到过吧。。。

有一点不太理解,为什么。

大家如果有其他浏览器兼容的坑,也可以一起吐槽一下。
我也补全一下自己的清单。
thanks :)

最后,夹带私货。
我司招前端。
硅谷创业公司,已经获得 VC 融资,主要创始人都有多次创业经验并成功退出。
核心产品是,利用大量的数据分析,帮助应聘者找到适合自己的职位,目前主要针对北美市场。
详细: https://www.v2ex.com/t/358568

如果你恰好知道这些问题,或者感觉这种问题太水,
不妨找我聊聊新的工作机会,万一我们我们一起工作会更开心呢?
我的微信: kunth002

37877 次点击
所在节点    程序员
121 条回复
jackon
2017-05-09 23:56:57 +08:00
@fakefish 我在意的不是问题细节,而是,大家一提到就知道,这里会有坑。而不是反问,Safari / chrome / Firefox 上没有多少兼容性问题吧?
smallpath
2017-05-10 01:43:06 +08:00
绝杀... 这种知识是属于靠搜索就很容易解决的, 如果你是想过滤是否经验足够确实没问题, 但我觉得就算没碰到这些问题的前端, 你可以让他当面解决其中一个问题, 看他能否解决问题以及解决问题的思路是否清晰流畅, 这两点反而比浏览器兼容更重要
nanxiaobei
2017-05-10 03:05:00 +08:00
熟练应用搜索引擎比知道这些重要多了。
Reign
2017-05-10 08:21:40 +08:00
震惊! UC 浏览器也被考核了一个震惊问题
jziwenchen
2017-05-10 10:04:25 +08:00
Mark 下 面试用的上. 哈哈...
willakira
2017-05-10 10:08:14 +08:00
过来说两句,有些坑工作几年都不一定知道,或者不需要知道。
稍微大点的公司就会在已有的基础上做自己一套全套的前端架构,基本上就是把这些坑都填平了。我们公司就专门有一个前端核心组负责发布通用组件,所有浏览器的问题全部是他们组来 handle。而面向业务的程序员主要负责写业务。
若楼主只是想找个能做前端核心组的人,然后面试的都是一些面向业务的程序员,那上来吐槽就是南辕北辙了。
建议楼主多招一些做轮子的工程师,把公司的各种 framework 和监控环境搭起来,然后再来考虑怎么招普通程序员。
原来你们是做招聘的,这么本地化的需求你们居然把 RD 放到中国…
poorbug
2017-05-10 10:18:43 +08:00
华为手机用的是 UC 10 的内核....即使是 P9 这样的新机型也是各种兼容性问题堪比古代安卓手机....向华为团队发了邮件,并没有得到回复
无奈
Sapp
2017-05-10 10:35:42 +08:00
兼容性的有些坑,不自己做到是根本不会知道的。
比如你说的虚拟键盘,以前我碰到过一次,ios 和 Android 我只知道微信 Android 很多坑,浏览器没关注过,因为移动端一直做微信内的页面。touch 无非是点透和 click 延迟问题。我倒是真觉得 chrome 移动端也没啥问题,问题就在于没有几个人用 chrome,大部分人用的都是国内魔改的一批浏览器和残废的 Android...
而且说实话,这些问题只能看出来他有没有干过移动端开发,并不能看出他真正水平。
aalska
2017-05-10 10:45:00 +08:00
@poorbug 爵士的团队 是不会理你的

他们天天只顾着怎么公关 营销
jackon
2017-05-10 11:15:20 +08:00
@willakira

原来你们是做招聘的,这么本地化的需求你们居然把 RD 放到中国…

最初,我也是同样的怀疑,并且拒绝了工作机会。
其实,这是国内的特色。

硅谷的公司,讲究产品立命。
我们不做地推,用户量也在稳定增长。
速度不是特别理想,但可以接受。

最为一个工程师,
这种产品立命的玩法,
是最吸引我的点。
willakira
2017-05-10 11:35:44 +08:00
@jackon 鄙司也正好有做招聘,不用地推,各个国家需求非常不一样,RD 中心太远了根本感觉不到。鄙司在北美和东京都有 RD 中心,分别负责北美和亚太区业务。PM 需要本地化,RD 更需要本地化

建议要做北美市场的话好好 track DoL 的各种统计数据
jackon
2017-05-10 15:13:55 +08:00
@willakira 看来我们玩法差不多。

我们的 co-founder,PM 和 市场团队 都在美国,需求是他们敲定的。
上海主要是偏实现的了,所以,地域文化差异,影响不大。
vjnjc
2017-05-10 15:31:55 +08:00
keyboard 没遇到过,倒是移动端的 copy api。。。在 ios 上居然还和 focus 相关。
KuroNekoFan
2017-05-10 18:30:15 +08:00
都 ios10 了,还看 ios7 的兼容性问题,必要性不太大吧
aboutTime
2017-05-10 22:05:34 +08:00
@fytriht 666
aboutTime
2017-05-10 22:19:12 +08:00
接近两年以前,一个面向用户的项目中处理过 10+机器的兼容性问题,vivo、小米、华为,老版本的 IOS iPod,时过境迁我已经只记得 input 隐藏用 span 唤起 和 300ms 点透的问题了,经典问题深入看了下原理,千奇百怪的厂商问题没去记,也记不住,临时解决也不难。
每家公司的业务场景不同,有些人工作几年还真可能没遇到过你说的有些问题。针对面试者遇到过的场景,考察问题的深度,私以为更能体现面试者的能力,踩过多少前端的坑只能作为一个参考。
qiukong
2017-05-10 23:52:16 +08:00
应该让用户去兼容网站,而不是让网站去兼容用户。
Srar
2017-05-11 01:13:46 +08:00
再补个 Chrome 58.0.3029.110 动画的 BUG (也有可能是我写的问题 但是以前版本是正常的 Safari 也正常

Chrome Safari

PasDajavu
2017-05-11 17:53:08 +08:00
做过一些微信项目,微信 X5 内核真的是神坑,就当年 Android 微信缓存问题就头疼不已(好像现在微信已经解决了)
b0x
2017-05-11 21:28:44 +08:00
过于片面地强调乘法口诀的重要性。其实,现实中,解决问题的方式才是最值得考量的。有了解决的思路,用计算器就行了。前端兼容问题本来就是一个踩坑的过程,要求烂熟于心实在是没必要…遇到了能解决,下次自然就不称之为问题了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/359985

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX