V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
jackon
V2EX  ›  程序员

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

  •  
  •   jackon ·
    JackonYang · 2017-05-08 23:19:52 +08:00 · 37920 次点击
    这是一个创建于 2785 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

    最近一周,面试了 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

    第 1 条附言  ·  2017-05-09 00:31:18 +08:00
    对公司几个标签的解释:
    1. 成功退出。公司出售,股权/期权都正常的变现。
    2. 硅谷公司。公司注册在硅谷,当然,我们指的主要是企业文化。
    3. 为什么在上海。之前研发团队是在多个国家的 remote,接下来要把上海做为主要研发中心。

    更多的关于公司的细节,我可以私聊介绍更多。

    我也是被多个创业公司坑过的码农。
    文章中讨论的问题,可以体现自己的技术状态。
    我主要是做后端 / 大数据,所以,前端只能列列提纲。
    这一次跳过来折腾,是建立在一个比较全面的评估之上。
    比如,
    1. 跟之前团队核心成员的面对面交流。
    2. 查中美的工商注册记录。
    3. ...
    第 2 条附言  ·  2017-05-09 09:57:53 +08:00
    兼容性问题本身,不是能力问题,但是,是经验问题。
    我的初衷是,过滤掉经验比较少的新手。

    比解决问题更难得是,发现问题的能力。
    这个帖子的评论里,大家补充了更多的坑。
    如果一个都没有踩到过,是不是需要反思一下发现问题的能力。

    发现问题,不是靠猜,
    而是通过一些工具/工作流程来保障。
    所以,这也是前端工程化的专业程度的体现。
    121 条回复    2017-05-12 11:29:20 +08:00
    1  2  
    notes
        1
    notes  
       2017-05-08 23:25:37 +08:00 via Android
    一遇到要兼容,我就找能兼容的 js 框架
    jackon
        2
    jackon  
    OP
       2017-05-08 23:32:28 +08:00
    @notes react / vue / angular,怎么对接你找到的兼容的 js 框架。
    ljcarsenal
        3
    ljcarsenal  
       2017-05-08 23:34:59 +08:00 via Android
    ios input 会遇到各种稀奇古怪的问题
    koebehshian
        4
    koebehshian  
       2017-05-08 23:37:24 +08:00
    “多次创业经验并成功退出”这是什么意思?
    koebehshian
        5
    koebehshian  
       2017-05-08 23:38:21 +08:00
    兼容性问题,能兼容主流的就行,小众的就算了,因为时代在发展,软硬件在更新。
    dangyuluo
        6
    dangyuluo  
       2017-05-08 23:39:19 +08:00
    @ljcarsenal iOS 上的输入框架确实很奇怪,所以我现在都将 input 隐藏,在未点击状态用 span 来模拟。点击时再切换到 input 元素
    fanazhe
        7
    fanazhe  
       2017-05-08 23:42:17 +08:00
    招聘帖也 UC 震惊体?差评……
    nicevar
        8
    nicevar  
       2017-05-08 23:48:39 +08:00
    @koebehshian 很多公司用 html5 做移动开发撑不下去然后挂掉了,呼呼
    jackon
        9
    jackon  
    OP
       2017-05-08 23:50:04 +08:00
    @koebehshian 比如卖掉了公司变现。而且,那家公司依旧发展的蛮健康。
    koebehshian
        10
    koebehshian  
       2017-05-08 23:54:36 +08:00
    @jackon 哦。我以为是跑路了。
    test4zhou
        11
    test4zhou  
       2017-05-09 00:04:07 +08:00
    @nicevar 现在还有很多公司是为了节省成本,用 html5 做 web app,那体验简直,,,
    ivanlw
        12
    ivanlw  
       2017-05-09 00:04:14 +08:00   ❤️ 20
    看到硅谷创业公司就反感,base 不在硅谷就不要整天吹什么硅谷,工资能跟得上硅谷么,福利能跟得上么?跟不上就别 bb。点进去一个大大的上海,不知道跟硅谷什么关系,都在地球上是么?

    还有,创业成功退出是什么鬼?庄辰超还是周航?
    jackon
        13
    jackon  
    OP
       2017-05-09 00:37:09 +08:00 via iPhone
    @ivanlw 附言中有解释。
    jackon
        14
    jackon  
    OP
       2017-05-09 00:47:53 +08:00
    @ljcarsenal 能否给几个 iOS input 有问题的关键词? thanks


    @dangyuluo 用 span 来模拟,跟 fixed 有关么?还是其他原因?
    alexapollo
        15
    alexapollo  
       2017-05-09 00:53:58 +08:00
    只能说要求面试者知道这些问题实在有点苛刻,就像 —— 你会后台服务,那你知道 suse 和 ubuntu 的内核的区别吗?
    fuermosi777
        16
    fuermosi777  
       2017-05-09 01:01:52 +08:00
    兼容性问题,遇到问题解决问题就可以了。用来衡量人的能力有点悬。
    yangff
        17
    yangff  
       2017-05-09 01:22:58 +08:00
    animation 不是 bug+兼容性问题一堆吗…… 我都不敢用
    yangff
        18
    yangff  
       2017-05-09 01:25:57 +08:00
    嗯……如果你用 nightly 的话,可能随便写几个 table,chrome 就崩了; chromium 我已经敬敏不谢了……
    laxenade
        19
    laxenade  
       2017-05-09 01:37:21 +08:00
    第一反应是"Hired 在招人吗" 然后一看在上海 orz
    jackon
        20
    jackon  
    OP
       2017-05-09 01:37:59 +08:00
    @alexapollo 完全不同的问题,看不出类比的一致性在哪里。难道你们的后端,要求随便一个 Linux 发行版都能完美运行?

    @fuermosi777 做了 1 年开发,没解决过这种问题,是不是有问题?问题就摆在那里,不是没有,而是根本没有意识到有问题。
    jackon
        21
    jackon  
    OP
       2017-05-09 01:44:23 +08:00
    @yangff 我也遇到过 chrome 的神奇 bug。

    chrome v52 版本,源视频如果有 rotation 参数,视频会被压扁。丑到没朋友。
    bug report: https://bugs.chromium.org/p/chromium/issues/detail?id=632624
    zhpech
        22
    zhpech  
       2017-05-09 01:53:13 +08:00 via iPhone
    iOS Click 别的不知道…说起来还没有在工作中写过移动端…没毛病
    scnace
        23
    scnace  
       2017-05-09 02:02:25 +08:00 via Android
    “微信内置浏览器就是一个很神奇的东西了”
    yangff
        24
    yangff  
       2017-05-09 02:14:34 +08:00
    @jackon 不过也就是感觉这两三年左右 chrome 的 bug 越来越……鬼畜?以前虽然不能说没问题,但是确实可以说很少遇到……
    yangff
        25
    yangff  
       2017-05-09 02:24:45 +08:00
    ios 的 animation 之前也有个奇怪的问题坑了窝蛮久,记不得具体是啥了
    Srar
        26
    Srar  
       2017-05-09 02:57:37 +08:00
    偏个题说下 edge 有个 bug: 域名中带"-"的会使设置 Cookie 失败, 当年日了狗了调几小时. 不知道现在修复没
    peneazy
        27
    peneazy  
       2017-05-09 06:01:39 +08:00 via Android
    这个要看产品需求和开发成本,不能苛求对所有平台所有浏览器都兼容,就说淘宝和饿了么,在 QQ 浏览器里是各种问题。前端的首要功能是产品功能的实现,而不是所有浏览器的完美表现。这年头,能可靠实现各种功能的前端都很难得了,有多少前端不懂 http,不懂 web 缓存,不懂性能,不懂正则,不懂算法。就举两个例子,后端给的接口不合适,前端是否能用复杂度低于平方阶的算法给重构;产品需求改了以前从网上复制的正则不能用了,前端是否会自己写正则。熟悉这些的前端,在北京很难用低于 18K 招到的。
    likai
        28
    likai  
       2017-05-09 06:14:15 +08:00 via iPhone
    ios input 难道是弹出输入法界面时,输入框被遮盖这个么?
    stiekel
        29
    stiekel  
       2017-05-09 06:52:43 +08:00
    其实微信内置浏览器,也有很多不同,不同微信版本、同一版本在不同的手机上都有不同,甚至碰到个极端的,微信版本一样、手机一样、系统的版本号一样,但最终结果却不一样……
    zyEros
        30
    zyEros  
       2017-05-09 07:34:38 +08:00 via iPhone
    没必要苛求兼容性问题,这些兼容问题慢慢会被抹平,单独考实际意义不太大,遇到能再解决就行了,更重要是基础能力
    wemore
        31
    wemore  
       2017-05-09 08:03:47 +08:00 via Android
    哇,刚遇到虚拟键盘的问题。浮动窗口底部有输入框,触发键盘会遮住看不到。各位大佬大家有啥好办法没。目前用 resize 事件勉强实现了弹出输入法改浮动窗口的 top 值。
    k9982874
        32
    k9982874  
       2017-05-09 08:13:51 +08:00 via iPad
    现在前端都是大爷,拿到数据就直接显示,写个 for 循环处理数据都不乐意,你让这些大爷去结局兼容性?
    你会得到一个答案:这设计的问题与“我”没关系
    呵呵呵呵
    duan602728596
        33
    duan602728596  
       2017-05-09 08:17:38 +08:00 via iPhone
    其实只要老老实实设计,别搞什么幺蛾子,很多 bug 都是可以回避的
    gundam1993
        34
    gundam1993  
       2017-05-09 08:20:52 +08:00 via Android
    微信浏览器真的无力吐槽…
    wly19960911
        35
    wly19960911  
       2017-05-09 08:29:07 +08:00 via Android
    @Srar 应该没问题了,我域名带 - ,session 建立成功没问题,当初做东西测试用过
    wly19960911
        36
    wly19960911  
       2017-05-09 08:33:31 +08:00 via Android
    @wemore 这个问题我看过,因为淘宝的旺旺一定要开手机,然后我打开 chrome 调试工具改成手机的模式,发现手机网页旺旺聊天框输入时会被移动上去,才意识到虚拟键盘有这个问题,用输入框的 focus 事件我认为更好。
    wly19960911
        37
    wly19960911  
       2017-05-09 08:37:02 +08:00 via Android
    @wly19960911 打错。淘宝的旺旺一定要下载软件(抱歉连发了三个
    dtysky
        38
    dtysky  
       2017-05-09 08:43:19 +08:00
    兼容问题本质上是坑,和技术水平没有必然关系
    我转行前端才一年,之前各种兼容性问题都不懂,最近两三周遇到的兼容问题却基本都能很快解决,包括微信啊 UC 啊啥的

    说实话,兼容性问题遇到了现场解决就行了呗,基础好的谷歌搜一搜周围交流交流解决起来很快好么,作为重点要求拉出来说事也是无法理解。。。
    CFM880
        39
    CFM880  
       2017-05-09 08:47:57 +08:00
    我只遇到 CSS 的 absolute 在 iOS 上不管用,flex 在低版本 iOS 不能用,为啥都是 iOS
    peneazy
        40
    peneazy  
       2017-05-09 08:53:37 +08:00 via Android
    @k9982874 碰到水平差还装大爷的,直接和他领导反映,别弄得自己不高兴
    silencefent
        41
    silencefent  
       2017-05-09 09:02:52 +08:00
    兼容性問題會隨著瀏覽器版本更迭變化,如果不是資深專傢,隨機應變能説出條條道理太難爲人
    就像你用 GPU,A 卡或者 N 卡,能説出哪些游戲會出 bug 一樣
    Niphor
        42
    Niphor  
       2017-05-09 09:07:55 +08:00
    遇到兼容性问题不是很正常吗,没人能保证知道所有兼容性问题的解决方案。
    况且浏览器天天更新,你就知道你现在知道那几条是还有的,或者没有新的吗?
    遇到了,才叫问题,又不是都写在 changelog 里的。
    tlday
        43
    tlday  
       2017-05-09 09:12:26 +08:00 via Android
    不太喜欢这种招聘形式
    qiqico
        44
    qiqico  
       2017-05-09 09:40:47 +08:00
    有关兼容问题,一般知道用 caniuse 以及 autoprefix 就可以了

    不过,如果一个做前端几年经验的,应该能够顺口说出一些兼容问题和解决方案
    SakuraKuma
        45
    SakuraKuma  
       2017-05-09 09:43:02 +08:00
    我个人觉得,招人只需要他知道,这个兼容性问题可能涉及到那些知识,大概知道是什么原因造成的就可以了。
    具体解决方案不必要全都知道,毕竟前端坑本来就多。
    kutata
        46
    kutata  
       2017-05-09 09:45:30 +08:00
    sm0king
        47
    sm0king  
       2017-05-09 09:47:12 +08:00
    哦,这些坑都踩过,看来写原生的很少呀
    还有 GPU 方面的坑(低端安卓机卡成翔,最优化开启 GPU 等等)
    兼容方面,最蛋疼的是 qq 浏览器和微信浏览器,但这两个加起来也不如一个 UC
    国产机里最蛋疼的是华为的机器,特别是安卓 4.1 的,4.4 和 4.4.1 之后就好很多了,我一般把华为的手机跟 IE6 相提并论的,想象下它坑有多多了
    还有简单的样式不兼容根本不叫坑好吧. . . .
    paradoxs
        48
    paradoxs  
       2017-05-09 09:47:49 +08:00
    @test4zhou @nicevar 招商银行 京东 大众点评 携程 以及等等.. 已经有很大一部分的页面是 web 了...
    digimoon
        49
    digimoon  
       2017-05-09 09:49:50 +08:00   ❤️ 1
    微信的 tbs 就是移动设备上的 ie6
    TomIsion
        50
    TomIsion  
       2017-05-09 09:51:22 +08:00
    iOS fixed 的 input 标签在唤醒虚拟键盘的时候会移动位置 一般使用局部滚动取代全局滚动修复

    不过话说 其实我觉得很多人回答不出来 是因为不知道面试官想问的内容是什么...

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

    这种问题我会以为是响应式页面相关的...
    LichMscy
        51
    LichMscy  
       2017-05-09 09:52:28 +08:00
    """安卓厂商们魔改(魔法一般的莫名其妙的修改)过的操作系统"""

    魔改不是这个意思啊
    learnshare
        52
    learnshare  
       2017-05-09 09:53:05 +08:00
    其实大部分移动端的前端都可能遇到过,只不过选择性忽略掉了
    光微信浏览器的各种问题就够折腾了
    TomIsion
        53
    TomIsion  
       2017-05-09 09:54:28 +08:00
    @sm0king 华为简直 很多 ES3 的方法都要兼容... 而且很难排错... lodash 要使用兼容 IE8 的版本


    @paradoxs 指的是内嵌 webview 的形式?
    anthozoan77
        54
    anthozoan77  
       2017-05-09 09:54:38 +08:00
    感觉自己啥都不会...噗...
    yhxx
        55
    yhxx  
       2017-05-09 09:55:48 +08:00
    面试了这么多人几乎没人遇到过各种奇葩手机上的各种奇葩问题,你是不是该反思为什么给你投简历的都是这样的人了?
    paradoxs
        56
    paradoxs  
       2017-05-09 09:58:32 +08:00
    @TomIsion 对...
    jackon
        57
    jackon  
    OP
       2017-05-09 10:01:29 +08:00
    关于大家质疑为什么用兼容性做为面试题,增加了第二条附言。
    Quaintjade
        58
    Quaintjade  
       2017-05-09 10:02:11 +08:00
    有些浏览器不支持 Destructuring assignment from variables
    还有,桌面浏览器滚动条宽度一般为 17px,移动端浏览器滚动条一般不占宽度
    TomIsion
        59
    TomIsion  
       2017-05-09 10:05:22 +08:00
    @paradoxs

    内嵌 webview 对于前端开发来说也是神坑贼多...
    目前在做这方面的开发...
    我们和做 APP 的不在一个部门,每次遇到点 bridge 的问题都很痛苦...
    kisnows
        60
    kisnows  
       2017-05-09 10:10:41 +08:00   ❤️ 1
    移动端只兼容 Android 4.1 以上,ios 8.0 以上,没有碰到过什么特别的 bug.
    用新 css 特性的时候都会上 caniuse 上查一下,而且配合 autoprefix 不会有什么问题。
    况且兼容性这个真不能算技术能力,顶多算踩没踩到坑。
    flowfire
        61
    flowfire  
       2017-05-09 10:12:36 +08:00
    我们公司没有做过移动设备的适配我能怎么办。我也很绝望呀。

    而且讲道理我后来还专门试了一下手机上并没有这种问题。。。可能我用的是 iOS10 吧
    P.S. 而且刚刚试过 input textarea 带 position:fixed 以及被 position:fixed 包含的情况,均没有出现上述问题

    果然我建议你们以后如果想考察面试者解决问题的能力,最好还是当面给个机器调试。


    WenJimmy
        62
    WenJimmy  
       2017-05-09 10:15:27 +08:00
    ios 的 input 绑定 ng-model 获取不到值,安卓,pc 正常,然后去设置里清掉缓存就好了,神了
    jackon
        63
    jackon  
    OP
       2017-05-09 10:17:21 +08:00
    @kisnows
    @flowfire

    看第二条附言,跟解决问题的能力,无关。
    ycmchong
        64
    ycmchong  
       2017-05-09 10:36:59 +08:00
    遇到问题了,查阅网站解决了,不想浪费精力记下这些小坑的解决方案,顶多写在博客或者做个备注之类的,方便以后再遇见这种坑知道去哪里解决,所以,等面试了,有印象,具体怎么解决的,请 google
    BearD01001
        65
    BearD01001  
       2017-05-09 10:47:19 +08:00
    不同的操作系统,不同的内核,不同的浏览器,不同的浏览器版本,相同的内核不同的浏览器,相同的浏览器不同的版本 @%#&$@&?!*#%&& (手动再见.jpg )
    wobuhuicode
        66
    wobuhuicode  
       2017-05-09 10:56:57 +08:00
    从公司产品角度来说这是一个很重要的问题,但是从开发者个人来说这个是一个没什么鬼用的问题。
    为了这个市场占有率低而且没有任何文档的的浏览器去做兼容简直就是浪费时间,有时间还不如学个 python,写个 c++来玩
    iugo
        67
    iugo  
       2017-05-09 11:18:15 +08:00
    关于微信, 很久以前大家就教育过我:

    http://x5.tencent.com/tbs/guide/caniuse/index.html
    LancerXin
        68
    LancerXin  
       2017-05-09 11:20:38 +08:00
    感觉面试问经验是无可厚非的.不过也是要把握尺度,首先需要了解面试者的工作背景,很多问题要么很扁门,要么就是在某种工作环境下的确很少遇到.

    第二就是需要了解公司到底招聘的是哪方面的人才.不对口的不招,但也不用否定面试者的能力.

    比如你问的这些问题,可以考虑在你公司的确可能会用到,如果面试者不会则需要考虑你的这些问题是深度问题还是经验问题.如果对方的确没有回答出来,但是你问的问题也是那种只要查查就能知道或者能够迅速修改的问题.那么你应该再全面的考虑面试者的工作环境,技术广度,学习态度和执行能力.综合考虑对方掌握你需要他掌握这个问题的所需要的时间成本.
    而不是出一些扁门的题目用来恶心面试者或者从另一方面贬低面试者的价值.
    ikaros
        69
    ikaros  
       2017-05-09 11:32:16 +08:00
    遇到过你提到的部分问题, 不过你直接问我移动端兼容性我大概也不知道你是想问这个
    shunia
        70
    shunia  
       2017-05-09 11:38:41 +08:00
    招人的逻辑有问题.
    招人是尽量去衡量:应聘者究竟会什么,会得多深.想要什么.
    在衡量完毕之后,再去判断应聘者是否适合这份工作.

    用:我会的,我觉得你应该会的,和我想给你的
    去面试一个应聘者,既不显得友善,也不显得专业.

    我觉得发帖有一定的:我觉得我问的问题很专业,我相信我很牛逼,大家来看看
    的心态.
    楼主是很厉害的,因为这既是能力问题也是经验问题.但是就如楼上有位朋友说的,如果万一用这种问题来衡量招人与否的话,有失偏颇.
    tcper
        71
    tcper  
       2017-05-09 12:30:51 +08:00
    哈哈哈,硅谷创业公司,这么说确实比较高大上一点,怎么解释都可以啦,
    楼主去硅谷玩过一趟,并且在硅谷灵感激发而创立这个公司也可以算硅谷创业公司吧?
    alamaya
        72
    alamaya  
       2017-05-09 12:50:31 +08:00
    这时候应聘者就可以说:不好意思,我写的宇宙无敌超级破费代码不可能遇到这些问题。
    daysv
        73
    daysv  
       2017-05-09 12:54:17 +08:00
    这种东西没啥意义,碰到了想办法解决就行
    问题海了去了, 这种样式兼容问题都不算什么
    ibufu
        74
    ibufu  
       2017-05-09 13:05:33 +08:00
    这类问题没啥意义+1,
    这类问题的统一解法:熟练运用搜索引擎
    youyang
        75
    youyang  
       2017-05-09 13:20:29 +08:00
    标题党, 奇葩软文吧。
    xi_lin
        76
    xi_lin  
       2017-05-09 13:55:31 +08:00
    @CFM880 那你是没被 android 的 X5 坑过
    fytriht
        77
    fytriht  
       2017-05-09 13:57:52 +08:00
    感觉还不如考“茴”字有几种写法
    uuair
        78
    uuair  
       2017-05-09 14:17:43 +08:00
    你们是帮助应聘者找工作的公司啊。。。。但问题是,首先,你要有应聘者,然后无论是什么样子的应聘者,都应该帮他找到合适的职位才对吧?
    jiankangxin
        79
    jiankangxin  
       2017-05-09 14:52:20 +08:00
    @kisnows 感谢时代,当初兼容 2.2 2.3 4.0 简直吐血,尤其是 2.3 向 4.0 的过度。 还有 4.0 向 4.2 的过度,有一个网络权限申请的事情。 还有 5.0 权限申请弹窗。 深坑啊。 如果你是一个 super app,有插件系统,那么来战吧。classloader 那个 就得区分 小米 阿里云 华为哪些。 还有分辨率的。。。没有 dpi 概念之前,可得 好好调。 哈哈
    想想那会为了节省点内存真是拼尽全力呀。。。妈蛋。。只能说现在好太多了。。。
    lcxseima
        80
    lcxseima  
       2017-05-09 15:25:14 +08:00
    我就说一个。。步步高 vivo。。。
    nicevar
        81
    nicevar  
       2017-05-09 15:29:19 +08:00
    @paradoxs 我的意思是完全采用 html5 框架来做,用壳包起来,不少公司死在这上面,有些公司死之前技术人员还来这里寻求过解决方案。
    你说的混用太常见了,偏向业务的应用很多公司都采用混合方案,毕竟有些需要灵活展现的页面用 web 来展现比较方便,我们以前的公司从 2.x 版本开始就一直用了
    skylancer
        82
    skylancer  
       2017-05-09 15:41:41 +08:00
    怎么可能没有,光是微信就能洋洋洒洒讲很久了
    我一个不做前端的都知道这些,你收到的是什么垃圾人的垃圾简历...
    fakefish
        83
    fakefish  
       2017-05-09 15:51:07 +08:00
    不过有一些碰到过,但面试的时候可能会想不起来,比如 chrome 的 sort 和 safair 的 sort 的区别,两者 new Date 的区别,有时候很难会想到这是浏览器问题
    fakefish
        84
    fakefish  
       2017-05-09 15:53:53 +08:00
    当然可能很多人没有遇到过在一些安卓手机上 margin 不生效,overflowhidden 导致高度变高,height 不生效,加点击样式导致点击事件消失种种,当然说这些东西会匪夷所思,但实际上是有这些问题
    ZxBing0066
        85
    ZxBing0066  
       2017-05-09 15:57:22 +08:00
    行业不同 经验也会有很大不同 用这个来衡量经验 实在是片面,当然如果你们想要招的人就是需要有这方面经验就另当别论了,不过个人感觉解决问题的能力和思路比这种所谓经验重要的多
    tomato3
        86
    tomato3  
       2017-05-09 16:04:43 +08:00 via Android
    招实习吗?
    jackon
        87
    jackon  
    OP
       2017-05-09 16:42:19 +08:00
    @tomato3 暂时无法提供实习职位,抱歉。
    sunber
        88
    sunber  
       2017-05-09 17:01:18 +08:00
    你的初衷是找熟练工,然而这种面试题会误伤一部分人,能搜索引擎解决的问题,没必要脑子时刻记住
    guangguoguo
        89
    guangguoguo  
       2017-05-09 17:39:38 +08:00
    程序员≠测试员,写了一行代码"以后有时间改“,事实上如果没有测试员反馈,这行代码永远都不会被修改。
    Jeter
        90
    Jeter  
       2017-05-09 19:38:34 +08:00
    “我想,这应该是因为,
    大部分的项目,
    没有用户反馈/投诉机制,
    前端没有监控能力,
    所以,根本不知道这里有多少的体验问题。”
    不不不,你没说到根本原因。
    根本原因在于,我也许把未来的 web 标准都背得烂熟于心,然而浏览器产商才是大爷。。各类移动端产商、浏览器厂商大爷们对用户系统、浏览器的魔改( qj )导致开发们(至少我是这样)对移动端兼容这个事情已经麻木了。。。
    miniwade514
        91
    miniwade514  
       2017-05-09 19:39:09 +08:00   ❤️ 1
    1. 回楼上一些说兼容性不是问题的。
    当前端不需要考虑兼容性,不需要考虑数据逻辑,拿到 JSON 就只知道渲染的时候,这个岗位差不多就玩完了。
    别跟我说做全栈、做全端,你当人家服务端、native app 端的这些年技术是没在发展吗?你跟人家比有什么优势吗?
    你连浏览器兼容性这种只需要动手不需要懂很多脑的事情都不愿意做,转到别的技术栈能深入到哪里?
    我自己做了几年全职前端了,以上不是针对前端这个工种做的评价,而是说给一些没有正视前端这个岗位的人听的。毕竟这两年抱着投机心态进这个领域的人太多了。

    2. 回楼上一些说会用搜索解决问题就行的。
    移动端的很多兼容问题,可以用鬼畜来形容。而且移动端的兼容问题不同于 PC 端,PC 上的代码你复制粘贴了马上就能看到效果,或者解决你的问题,而移动端的问题是设备、系统、浏览器多个因素同时作用的结果,你没那么容易复用别人的答案。姑且假设所有问题都能搜到解决方案,这种方式所花费的时间是很不可控的。而一个有经验的开发,解决问题的时间可以减少很多。时间对于企业而言就是成本,就是钱。
    alexapollo
        92
    alexapollo  
       2017-05-09 19:53:23 +08:00
    @jackon 为啥是完全不一样的问题?

    * 前端适配浏览器内核 - 后端适配服务器内核

    区别大吗?我指的是思考问题从这个角度思考,还觉得成功“筛选”掉很多人有点不可取吧……
    在我看来,懂前端适配只能加点小分,证明是个前端适配的熟练工,没别的用处了
    test4zhou
        93
    test4zhou  
       2017-05-09 20:44:31 +08:00
    @paradoxs 我意思是一些公司想要用 html5 取代原生开发节省开发成本,例如实现什么语音,视频功能之类功能,还要求跟原生一样流畅,,,
    spacewander
        94
    spacewander  
       2017-05-09 20:55:57 +08:00 via Android
    @alexapollo
    后端没有适配不同的内核的需求呢……除非你是在写库或者写开源项目。
    indooorsman
        95
    indooorsman  
       2017-05-09 20:58:05 +08:00 via Android
    还是找专业前端来面试前端比较好
    alexapollo
        96
    alexapollo  
       2017-05-09 21:32:47 +08:00
    @spacewander 那按楼主的论点,你的经验是明显不够的

    1. 写个 push 服务,如果想要达到 C1M,那至少要调六个以上的内核参数
    2. 使用 docker,你也得明白 docker 下的 FS 机制,怎么运用才能高效
    3. 很多公司定制的 kernel 都把所有的 module 隐藏化了,但性能调优往往是需要把 module 暴露出来,那又得怎么做?

    但你看了一眼答案,也会明白这些问题都很经验,未免强人所难。
    更何况,你的逻辑“写库或者写开源项目”来抽象出前端逻辑,确保合适的人做合适的事,不也是一个道理吗?
    syyy
        97
    syyy  
       2017-05-09 21:44:36 +08:00
    第二个问题,已经被折磨挂了,经常被提问题,然后转到前端那边去。有时候就那么安安静静地,没有任何现象,自己手机无法重现,查半天日志才发现没有日志,再半天才能大概找到原因是前端。
    codermagefox
        98
    codermagefox  
       2017-05-09 21:56:42 +08:00
    刚工作没多久的新手,只知道一个 300MS 的问题和一点样式问题,估计被问了也扑街。。。
    jackon
        99
    jackon  
    OP
       2017-05-09 23:42:09 +08:00
    @miniwade514 赞知己,解释的比我清楚。

    解决大多数问题都依赖 Google,
    这其实不只是时间成本的问题,
    最关键的,如果踩坑太少,那根本做不了复杂系统的设计。

    踩坑太少的,讨论闭包、原型链等概念的时候,明显更缺乏深度。
    闭包问题,根本上升不到编程范式的高度,
    原型链,也讨论不到继承范式的高度上。

    脾气大于技术实力。
    jackon
        100
    jackon  
    OP
       2017-05-09 23:53:32 +08:00
    @alexapollo 兄弟,最后的这条回答,看得出你在后端处理过比较有复杂度的性能调优问题,至少关注过。赞技术。

    这跟前端的浏览器兼容,出发点完全不一样。
    前端不做,就会有一定比例的用户,体验很差,甚至根本用不了。
    根本没有其他的补救措施。
    除非是少数 to B 产品,只要用户量过万,就会遇到。

    后端的内核级适配,不做也影响不到用户。
    性能问题通过 scale out 可以解决大部分。
    用户量到了必须要考虑内核级优化实现 scale up 的,国内屈指可数。
    这些公司,也不会搞出杂七杂八的一堆操作系统或者内核来适配。
    最多两三个操作版本而已。
    至于 vagrant / virtualbox / docker 这些虚拟化工具,那是特定产品的特殊需求。

    所以说,这是基本不具有类比性的需求。
    1  2  
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   884 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 19:58 · PVG 03:58 · LAX 11:58 · JFK 14:58
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.