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

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

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

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

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

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

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

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

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

    然后心里想:“什么 SB 问题,这公司也就这样了!”
    encro
    encro
    Jul 8, 2022
    121
    原来作者是老板,
    啥都不懂,难怪问这种问题了,
    如果没有靠谱的朋友,还是不要搞这行了吧,
    劝退。
    Envov
    Envov
    Jul 8, 2022
    122
    这题不是很简单,带宽描述的是速率,图片是存储大小,之间的换算不查一下还真记不起来,这里面既有 1000 的换算还有 1024 的
    wonderfulcxm
    wonderfulcxm
    Jul 8, 2022 via iPhone
    123
    胡闹
    DeutschXP
    DeutschXP
    Jul 8, 2022 via iPhone❤️2
    124
    这就是楼主的错误了。你这个问题去问苹果 Google 之类大厂的前端,能问到答案,因为你想要个工程师,能发现问题分析问题解决问题的。那些前端确实能,人家还能创造一个又一个框架呢。
    但你别被现在的宣传唬住了,你从回答也能看出来,好多前端本质还是切图仔,搬砖的并没变成工程师。他们只会用工具,用框架。
    一个大厨(工程师)在煤气炉换成电磁炉之后,会想办法调整烹饪方法,尽量保证出品的质量。一个偷看了大厨几天做菜的就只会叫唤:缺乏工具,这道菜没法做了。
    再回到正题,例如上面有人的回复,我不是说所有,而是说许多前端,他们会使用,但永远也不会创造出下一个“懒加载”技术,因为他们不会真的写代码。
    他们也会模仿,但不会创作出下一个流畅的苹果的产品动画页面,因为他们不懂技术,就不知道美学 /设计如何同现有的硬件软件技术兼顾,他们会坚持认为这些不属于前端的事。
    当然,最后还要灵魂拷问楼主,你想要找一个那样的前端工程师,你给得起那么多工资么……
    stkstkss
    stkstkss
    Jul 8, 2022
    125
    作为前端 你连问题都不会问
    DeWjjj
    DeWjjj
    PRO
    Jul 8, 2022
    126
    我目前用的答案是依据 cdn 的数量*1.5 ,能标准让 CDN 吃满的带宽即使有的时候有一些奇葩 ip 也能吃满。
    qiuai
    qiuai
    Jul 8, 2022
    127
    这个比较适合运维把?
    aliveyang
    aliveyang
    Jul 8, 2022
    128
    你这个问题本身就是个问题,时间都没给,怎么给你算速率
    sl0000
    sl0000
    Jul 8, 2022
    129
    带宽大于 0 就行吧,应该问需要费多少流量
    cctrv
    cctrv
    Jul 8, 2022 via iPhone
    130
    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
    F281M6Dh8DXpD1g2
    Jul 8, 2022 via iPhone
    131
    "刚一看吓一条,还以为是我刚跑路的那个公司

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

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

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

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

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

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

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

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