• 请不要在回答技术问题时复制粘贴 AI 生成的内容
majianglin
V2EX  ›  程序员

刚面了一个 6 年的前端,页面有 10 张图片每个 1MB, 2000 个用户同时访问需要多大带宽

  •  2
     
  •   majianglin · Jul 8, 2022 · 19064 views
    This topic created in 1424 days ago, the information mentioned may be changed or developed.

    这个题超纲了吗?人家直接怼我,我只是个前端,服务器的事情我不管

    本来是想问他 CDN 的问题,他说原来方案选择了 CDN ,后来因为成本太高就用自己的服务器了,就引出了这个问题

    174 replies    2022-07-13 18:10:08 +08:00
    1  2  
    GreatAuk
        101
    GreatAuk  
       Jul 8, 2022
    没水平的问题
    frozenway
        102
    frozenway  
       Jul 8, 2022   ❤️ 6
    确实不应该问这后端问题,我上家公司主管招前端就是面试大部分偏向后端和服务器的,结果招到了个前端不怎么行后端有点水平的,后来那个前端做不了前端他就再招了个会前端的,然后他转后端了,然后把做后端的我给辞了。真是瞎折腾
    jrtzxh020
        103
    jrtzxh020  
       Jul 8, 2022
    作为前端,你问什么解决方案,我肯定会有 cdn 的答案。但是你这问题扯得太抽象了吧,根本没有重点!写代码都够抽象了,面试还需要将问题抽象?人何必难为人呢!
    libook
        104
    libook  
       Jul 8, 2022
    理论上来说,在这个问题上前端职责应该只关注用户体验,也就是说假设服务可用(包括带宽足够)的话,页面上的图片展示给用户的方式是否让用户觉得体验好,这个可能会涉及到前端渲染性能,如果是移动端的话也会涉及到弱网环境和流量消耗情况。

    如果图片是由后端提供的,那么前端就得给后端提出可用性的要求,再涉及到运维运维层面的,就由后端提要求给运维;如果图片是由中间件、CDN 、OSS 等提供的,那么前端就得给运维提出可用性的要求。

    由此我个人认为算出最小带宽需求( 10x2000x8 ),以及提供一些用户体验优化的方案(图片压缩、加载动画、懒加载等)就应该算合格了;还要拓展到系统架构上,可能就得看所招聘的职位是不是还有全栈开发或架构涉及职责,因为这部分通常需要进行技术选型和成本、风险评估,一线开发人员通常不会承担这种职责,能很好承担这种职责的也一般会贵一些。

    还是需要看题主招聘的职位画像是什么,以及这道题希望考察候选人的哪方面是否符合职位画像要求。
    wangritian
        105
    wangritian  
       Jul 8, 2022   ❤️ 1
    有一说一,不可能一点运维知识都不懂,哪怕从前端角度讲讲怎么优化,怎么延迟加载之类的,也是加分,直接回怼,这种性格很难和其他人配合,我一般不要
    pepesii
        106
    pepesii  
       Jul 8, 2022
    你的目的是想考察对方的啥能力呢?
    OnionJuice
        107
    OnionJuice  
       Jul 8, 2022
    听到这种问题,就知道这家公司的技术领导水平不怎么样,你熟背 Nginx 各项配置了吗?是考了 CCIE 还是 HCIE ?如果没有的话好意思聊 CDN ?
    yinzhili
        108
    yinzhili  
       Jul 8, 2022
    超纲了。假如我是一个厨子,我还要考虑蔬菜用啥样的卡车运输吗?
    pieerepeng
        109
    pieerepeng  
       Jul 8, 2022
    从回答里,可以看出比这个问题本身更多的问题
    darknoll
        110
    darknoll  
       Jul 8, 2022
    要几秒钟下载完,用的 http1 还是 http2
    unco020511
        111
    unco020511  
       Jul 8, 2022
    可是这个确实和前端没啥关系啊
    chenmobuys
        112
    chenmobuys  
       Jul 8, 2022
    确实跟前端关系不大
    nuk
        113
    nuk  
       Jul 8, 2022   ❤️ 1
    多大带宽,这不得看用户的带宽吗
    2000 个 1kb 的用户同时访问也就需要 2M 的速度
    dorothyREN
        114
    dorothyREN  
       Jul 8, 2022
    @fisherwei #2 真巧,这里还能碰到一样的背锅侠
    really28
        115
    really28  
       Jul 8, 2022
    这种问题,不被怼就奇怪了。举个例子:面试后端岗位,哪怕是十年的后端:你问他一个管理后台,5 个大模块,每个模块下面有有 10 个左右的页面,请问整个项目需要设计多少个 components 和 router path ?
    lujiaosama
        116
    lujiaosama  
       Jul 8, 2022
    等一等, 要满足同等级别的流量, 服务器带宽难道不比 cdn 贵? 是我搞错了吗.
    jojobo
        117
    jojobo  
       Jul 8, 2022
    属实和前端没有关系,俺也是 6 年前端,也不知道
    lycpang
        118
    lycpang  
       Jul 8, 2022
    是正常的难题你不会问?

    还是你觉得问这种稀奇古怪的点能体现你的与众不同?

    跨行业问问题真的就贼有优越感吗?
    lxyer1
        119
    lxyer1  
       Jul 8, 2022
    这问题就有问题,over
    encro
        120
    encro  
       Jul 8, 2022
    如果我是前端,

    我会回答:“使用懒加载,缩略图,1M 不是小图片,没必要一开始就现实出来,公司带宽不要钱啊”。

    然后心里想:“什么 SB 问题,这公司也就这样了!”
    encro
        121
    encro  
       Jul 8, 2022
    原来作者是老板,
    啥都不懂,难怪问这种问题了,
    如果没有靠谱的朋友,还是不要搞这行了吧,
    劝退。
    Envov
        122
    Envov  
       Jul 8, 2022
    这题不是很简单,带宽描述的是速率,图片是存储大小,之间的换算不查一下还真记不起来,这里面既有 1000 的换算还有 1024 的
    wonderfulcxm
        123
    wonderfulcxm  
       Jul 8, 2022 via iPhone
    胡闹
    DeutschXP
        124
    DeutschXP  
       Jul 8, 2022 via iPhone   ❤️ 2
    这就是楼主的错误了。你这个问题去问苹果 Google 之类大厂的前端,能问到答案,因为你想要个工程师,能发现问题分析问题解决问题的。那些前端确实能,人家还能创造一个又一个框架呢。
    但你别被现在的宣传唬住了,你从回答也能看出来,好多前端本质还是切图仔,搬砖的并没变成工程师。他们只会用工具,用框架。
    一个大厨(工程师)在煤气炉换成电磁炉之后,会想办法调整烹饪方法,尽量保证出品的质量。一个偷看了大厨几天做菜的就只会叫唤:缺乏工具,这道菜没法做了。
    再回到正题,例如上面有人的回复,我不是说所有,而是说许多前端,他们会使用,但永远也不会创造出下一个“懒加载”技术,因为他们不会真的写代码。
    他们也会模仿,但不会创作出下一个流畅的苹果的产品动画页面,因为他们不懂技术,就不知道美学 /设计如何同现有的硬件软件技术兼顾,他们会坚持认为这些不属于前端的事。
    当然,最后还要灵魂拷问楼主,你想要找一个那样的前端工程师,你给得起那么多工资么……
    stkstkss
        125
    stkstkss  
       Jul 8, 2022
    作为前端 你连问题都不会问
    DeWjjj
        126
    DeWjjj  
    PRO
       Jul 8, 2022
    我目前用的答案是依据 cdn 的数量*1.5 ,能标准让 CDN 吃满的带宽即使有的时候有一些奇葩 ip 也能吃满。
    qiuai
        127
    qiuai  
    PRO
       Jul 8, 2022
    这个比较适合运维把?
    aliveyang
        128
    aliveyang  
       Jul 8, 2022
    你这个问题本身就是个问题,时间都没给,怎么给你算速率
    sl0000
        129
    sl0000  
       Jul 8, 2022
    带宽大于 0 就行吧,应该问需要费多少流量
    cctrv
        130
    cctrv  
       Jul 8, 2022 via iPhone
    1. 服務器只需要 1 2 3 4 5 mb 的帶寬?
    2. 可以使用 CDN 解決問題的,這種事情看錢份上也不會放在服務器。
    3. 根據公司的消費能力選擇服務器帶寬,5m 也沒問題,讓瀏覽器給你慢慢排隊加載(有 CDN 就快了)。覺得慢的人自己也會多次刷新。
    4. 真的要 1m 這麼大嗎?不允許壓縮嗎?我的話,必然壓縮一下,儲存成本和流量都是成本。
    5. 雖然你問題是這樣問,可是你真的想拿 1m * 10 * 2000 這種答案嗎?
    6. 他之所以 CDN 成本高,然後用服務器反而便宜,是因為服務器是按帶寬算,而 CDN 按流量算啊!這個可能是一個大流量低併發的需求。例如,app 更新 apk 這種,用 CDN 就沒那麼划算了。
    7. 上述答案並非來自前端⋯
    F281M6Dh8DXpD1g2
        131
    F281M6Dh8DXpD1g2  
       Jul 8, 2022 via iPhone
    "刚一看吓一条,还以为是我刚跑路的那个公司

    进去的时候老板说找你就是做重构的,过了 2 个月梳理顺畅了,老板完全没有重构的想法了,遂跑路"
    大半年前还跑路呢现在就创业了?
    metalman7511
        132
    metalman7511  
       Jul 8, 2022
    我虽然不懂前端,但是我想到当年我去面试一个互联网公司的客户支持岗位,不是技术支持类的,面试官来问了我一个奥数数学题,你应该就是这种人吧。
    rrfeng
        133
    rrfeng  
       Jul 8, 2022 via Android
    那你应该直接问页面图片很多加载很慢有什么办法
    流量很高如何节省成本
    joynvda
        134
    joynvda  
       Jul 9, 2022
    也想过前端懒加载的答案。

    再想深一层:假如是内网,无需 CDN 。来个简单粗暴的答案。
    HankAviator
        135
    HankAviator  
       Jul 9, 2022 via Android
    10Tbps
    这么大?
    我不是老板,只给个答案,不负责掏钱买带宽,哈
    camus
        136
    camus  
       Jul 9, 2022
    大概因为你问到了他的技术盲区,CDN 他知道这个名词,而并不知道这是干什么用的
    所以只能通过扣个”不是我的专业“给你,才能避免自己露怯

    v2 上都是有技术情怀的,看看前面各种讨论用户体验和各种前端技术,
    就应该明白,
    你所面试的”前端“和 v2 上的前端属于两个不同维度的定义。
    luckycat
        137
    luckycat  
       Jul 9, 2022
    前端六年应该没错,楼主大概是个刚通过实习期的不懂技术的 HR 。
    LancerComet
        138
    LancerComet  
       Jul 9, 2022
    这种只能以假设前提回答,比如反正对于传输 10MB 数据,如果没法考虑用户网速,那就可以大体视作每秒 10MB ,2000 个人理论撑满就再乘 2000 ;如果讨论网速那就可以耍无赖了,比如因为用户网速可以视作无底洞,所以如果我不谈客观条件限制,你的服务器某个毫秒之内网速峰值可能巨高无比
    如果讨论其他情况,面试官来定条件,然后针对讨论
    mhycy
        139
    mhycy  
       Jul 9, 2022
    这属于发散性问题,回怼确实不好,但建议在问的时候提示这是一道发散性问题
    原因在于 2000 人同时访问到底要多少带宽其实是和内容相关的
    本质上,这属于一道与业务结合的前端数据访问优化问题
    考要多少带宽只是给一个方向发散性思考罢了
    发散性问题本质也仅仅需要发现思考逻辑,而不是算出标准答案
    所以建议提示一下,不拐弯的就冒火了
    这是一道很能考验知识广度和思考深度的问题
    300
        140
    300  
       Jul 9, 2022 via Android
    有个后端面我安卓,问我十万个文件怎么样快速同步到下来。我问他什么需求要在手机上这么搞,他自己想了一会儿说当成后端了,然后就走人了。第二天那个公司通知我面试过了🌝
    wanacry
        141
    wanacry  
       Jul 9, 2022 via iPhone
    有带宽就能访问了
    yolyzhu
        142
    yolyzhu  
       Jul 9, 2022
    @bitmin 你完全不理解,答辩反正都是过,随便问。面试问这种问题就是面试官想怼人,只不过对面先下手为强了,这薄脸皮面试官还要上网找安慰。
    yolyzhu
        143
    yolyzhu  
       Jul 9, 2022
    @winterbells 我见过问类似问题的,我问他什么需求要这么搞,他说你别管,反正就是要……
    sidkang
        144
    sidkang  
       Jul 9, 2022   ❤️ 1
    问得好,下次别这么问了。
    既然是老板,那应该有个 CTO 吧,让她问吧。
    neptuno
        145
    neptuno  
       Jul 9, 2022 via iPhone
    十张图片可以用缩略图,oss 支持压缩,应该不需要那么多带宽。你应该问,这么多图片,加载会很慢,你觉得有什么优化思路吗。面试官如何问问题也是一种学问。
    pony279
        146
    pony279  
       Jul 9, 2022
    @zhixiao 意义就是成本

    大厂业务的 CDN 带宽成本可以是千万级,每个月上百万
    首先是你自己的用户数据数据和 CDN 流量要能对上,自己心里要有个数吧,万一对不上怎么办?
    其次,如果成本高了,得有优化措施,这也得心里有个数吧

    这个事情跟前端开发没有直接关系,但是跟公司利益有重大关系
    我觉得,愿不愿意了解这些“分外”的事情,决定了有没有更多的被重用的机会吧
    D2h0VL89HMAU417B
        147
    D2h0VL89HMAU417B  
       Jul 9, 2022
    @wangkun025 不懂就问,大佬这里为啥要乘以 8 ?
    dabaibai
        148
    dabaibai  
       Jul 9, 2022
    图片还要算压缩率吧。。。1M 的图片 不一定传输需要 1M
    leavic
        149
    leavic  
       Jul 9, 2022
    这跟前端有毛关系
    JustinDeng
        150
    JustinDeng  
       Jul 9, 2022
    @frozenway sorry 虽然有点同情 但还是不厚道的笑出声了
    Bijiabo
        151
    Bijiabo  
       Jul 9, 2022
    图片是静态的还是动态生成的?
    实际业务场景是怎么样的?
    为什么是 10 张图片?
    同时访问是什么意思,是每秒还是其他含义?
    在客户端中还是浏览器中?
    rb6221
        152
    rb6221  
       Jul 9, 2022
    如果面架构师的话这种问题确实可以回答一下,普通开发还是算了
    chengzi
        153
    chengzi  
       Jul 9, 2022
    现在网络都这么好了么, 页面都开始按 MB 计算了😅
    xiangyuecn
        154
    xiangyuecn  
       Jul 9, 2022
    这是一个没有答案的问题,就算是招运维,也能给出 108 种正确的答案(包括怼面试官也是正解)。

    本身就是玄学:你要用户用的爽,上 1TB 的带宽也可以,要用户骂街还不得不用,上 1MB 的带宽也不是不可以🐶🐶
    AV1
        155
    AV1  
       Jul 9, 2022
    你问“需要多大带宽”真的不是前端关心的事情。

    但是,你要问前端如何优化这个有 10 张 1MB 图片的页面,如果在有限的带宽下实现最好的用户体验,那就有很多可以讨论的。
    wangkun025
        156
    wangkun025  
       Jul 9, 2022
    @zephyr1 这个问题本身有问题。乘以 8 是比特和字节的区别。网线是按照比特的。但文件是按照字节的。
    AyaseEri
        157
    AyaseEri  
       Jul 9, 2022
    这问题确实不是一个好问题。
    正确的提问应该是:2000 个用户同时访问一个页面,内含 10 张图片,每张 1MB ,是否需要优化?是的话有什么优化方案?
    milukun
        158
    milukun  
       Jul 9, 2022
    先学好语文再说吧
    moonrailgun
        159
    moonrailgun  
    PRO
       Jul 9, 2022
    没听懂。问的是需要多大的带宽才能让用户瞬间加载完毕么?现实情况挺复杂的,而信息好像也不是很全
    ztcaoll222
        160
    ztcaoll222  
       Jul 10, 2022
    问得没头没尾的,应该改成问解决方案
    UFc8704I4Bv63gy2
        161
    UFc8704I4Bv63gy2  
       Jul 10, 2022 via Android
    怼的好,这问题太没水平了,如果一秒加载完要 160 ,两秒只要 80 ,十秒只要 16
    auh
        162
    auh  
       Jul 10, 2022
    这种思维方式,真的好吗?
    HackerJax
        163
    HackerJax  
       Jul 10, 2022 via iPhone
    @wangritian 楼主问的不是如何优化图片的加载速度,而是确切的服务器需要多少带宽。

    面试是双向选择,你不要别人,别人还觉得你这技术团队还不值得他去呢
    WebKit
        164
    WebKit  
       Jul 10, 2022
    能问这种问题,肯定前面已经问了不少不专业的问题了。从楼主是老板,自己负责设计、面试,大概猜测,可能是一个初创公司。所以面试者,就算面试通过估计也不回来了。既然不会产生交集,还被问这种问题,自然被怼回去很正常。
    Auroras
        165
    Auroras  
       Jul 10, 2022 via Android
    azhi2007
        166
    azhi2007  
       Jul 11, 2022
    怼就怼吧,现在的年轻人不吃 80 后那一套,应该稳点前端专业的技术实现,这本身也不是他要解决的问题,况且你这一张图片的大小也不大,这应该是架构师的问题
    sjzjams
        167
    sjzjams  
       Jul 11, 2022
    小公司老板都这样哈哈
    wangritian
        168
    wangritian  
       Jul 11, 2022
    @HackerJax 这种态度的面试者在与同事对接工作时容易出问题,并不否认楼主的问题错误,很多回帖也都指出了,但“这个事不归我管”一定是不可取的
    ahsjs
        169
    ahsjs  
       Jul 11, 2022
    对应前端的优化就图片懒加载或者先加载低分辨率的图片,cdn 确实不归前端管
    ajan
        170
    ajan  
       Jul 11, 2022
    我是来看段子手的
    xiaoranj
        171
    xiaoranj  
       Jul 11, 2022
    @frozenway 笑死🤣
    xqk111
        172
    xqk111  
       Jul 11, 2022
    不知道你想问啥,
    mokevip
        173
    mokevip  
       Jul 12, 2022
    @Joseph0717 支持,我看了这个问题我也懵逼,我都不知道问的是啥,更别说人家在面试的情况下紧张啥的,更容易答非所问,根本得不到想要的答案
    SmiteChow
        174
    SmiteChow  
       Jul 13, 2022
    的确超纲了,前端是面向浏览器编程
    1  2  
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3660 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 5414617a · 130ms · UTC 00:40 · PVG 08:40 · LAX 17:40 · JFK 20:40
    ♥ Do have faith in what you're doing.