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

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

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

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

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

    174 replies  •  2022-07-13 18:10:08 +08:00
    1  2  
    ❮ ❯
    wangkun025
    wangkun025
    Jul 8, 2022
    1
    10×1×2000×8 兆?
    fisherwei
    fisherwei
    Jul 8, 2022❤️1
    2
    这不是我们这些背锅侠(运维)需要考虑的事情吗?
    AoEiuV020CN
    AoEiuV020CN
    Jul 8, 2022
    3
    1 MB * 10 * 2000 * 8 / 1s = 160Gb/s 带宽?
    majianglin
    majianglin
    OP
    Jul 8, 2022❤️2
    4
    答案不重要,估算一下就好了,问题并不严谨,“同时”并没有严格的定义

    其实意思就是说你们应该选 CDN 的方案

    但是他这直接说不归他管,这就。。。
    murmur
    murmur
    Jul 8, 2022
    5
    这个数至少得留够*4 的量吧,都有 2000 的并发了,相比灰黑产 ddos 也少不聊
    zhixiao
    zhixiao
    Jul 8, 2022
    6
    确实跟前端也没多大关系,一般来说都放 cdn 了,cdn 有自己的缓存策略,算这个有什么意义呢?
    murmur
    murmur
    Jul 8, 2022❤️18
    7
    这个问题的确不属于前端的问题,无论你背后怎么算带宽,高防都是得准备的,高防的带宽前端可没法给你估计,除非你们系统无欲无求连竞品都没有

    而且啊,而且,2000 个并发,浏览器不也有缓存么,是 2000 个新用户还是 2000 个老用户,现在的云不都是弹性伸缩,拍脑袋拍一下,跑一跑真的数据来了就知道怎么买最划算了
    murmur
    murmur
    Jul 8, 2022❤️2
    8
    再发散一点,做不做轮播和瀑布流加载,这个问题我认为很好,但是并没有标准答案,扯的话可以扯一个小时,但是最后决定权真不在前端这
    shakaraka
    shakaraka
    Jul 8, 2022
    9
    确实和人家前端没啥关系啊。

    10 张图片每个 1MB 。如果是没压缩的我会建议压缩下,或者使用 oss 返回压缩的的小图(具体大小看设计)。要是项目经理或设计就是要大图,我也没办法
    shakaraka
    shakaraka
    Jul 8, 2022
    10
    虽说不是前端的范围,我觉得也需要知道相关的问题合适,但这不是扣分项,是加分项。不会不要紧,会更好
    Joseph0717
    Joseph0717
    Jul 8, 2022❤️38
    11
    怼的好,你应该问有什么解决方案,而不是问需要多大带宽
    yaphets666
    yaphets666
    Jul 8, 2022❤️2
    12
    人家心情好,你给的钱多,就回答你。心情不好,钱又少,自然就怼你了
    aecra1
    aecra1
    Jul 8, 2022
    13
    一个页面只算图片都 10MB ,如果用户网不好使你这页面难道要加载十几秒吗,能这么整的公司不进也罢
    yogogo
    yogogo
    Jul 8, 2022
    14
    之前我的前端朋友跟我说,面试官问他 10w 条数据渲染页面要多长时间????
    duxiansen
    duxiansen
    Jul 8, 2022
    15
    这不应该问前端多图片页面怎么优化吗?为啥会问需要多大带宽?
    murmur
    murmur
    Jul 8, 2022
    16
    @yogogo 这是考虚假滚动吧,100 万数据也是按 20 条算
    majianglin
    majianglin
    OP
    Jul 8, 2022
    17
    @duxiansen 就是从页面加载速度优化,聊到了 CDN ,然后他又说他们最后没选 CDN
    leeggco
    leeggco
    Jul 8, 2022
    18
    就很扯。
    yogogo
    yogogo
    Jul 8, 2022
    19
    @murmur #16 不是应该要问 10w 数据前端页面要如何渲染效果才好吗?一般不会有人直接 10w 全部渲染吧
    yogogo
    yogogo
    Jul 8, 2022
    20
    @majianglin #17 来套设计方案的吧
    majianglin
    majianglin
    OP
    Jul 8, 2022
    21
    @wunonglin 6 年经验前端都能做架构了,这种量级的流量不是自己服务器能玩的
    majianglin
    majianglin
    OP
    Jul 8, 2022
    22
    @yogogo 我是老板,只设计业务方向,不设计技术方案,哈
    adeweb
    adeweb
    Jul 8, 2022❤️1
    23
    我首先想到的是做缓存、图片压缩、按需加载、渐进式加载。😄
    rrfeng
    rrfeng
    Jul 8, 2022 via Android❤️28
    24
    1b/s 也行啊,就是时间长点。
    什么傻屌问题
    majianglin
    majianglin
    OP
    Jul 8, 2022
    25
    @rrfeng

    原始问题就是从加载速度优化聊到这里的,你这个答案直接判错
    iloveayu
    iloveayu
    Jul 8, 2022❤️1
    26
    如果有限定多久(几秒)完全载完,这题还好。
    seres
    seres
    Jul 8, 2022
    27
    你这没描述全,单问带宽会挨怼,建议补充下原问题
    richardwong
    richardwong
    Jul 8, 2022❤️1
    28
    不知道你想问什么?
    tkHello
    tkHello
    Jul 8, 2022
    29
    wen. ni. ma o
    loudefa
    loudefa
    Jul 8, 2022❤️2
    30
    让我想到了上家公司服务器带宽 100M 的事情。我他妹的震惊了,上个 CDN 解决的问题,居然给服务器加到 100M
    codingBug
    codingBug
    Jul 8, 2022
    31
    和前端有啥关系?
    dddd1919
    dddd1919
    Jul 8, 2022❤️30
    32
    面试题:每个萝卜一斤,买 2k 个萝卜需要多少个购物袋?
    答案:雇个大卡车
    v2ka
    v2ka
    Jul 8, 2022❤️1
    33
    问题都不会问,难怪人家会怼你。

    带宽确实不是前端该重点考虑的问题。

    以后别出这种犄角旮旯的题了。
    MillerD
    MillerD
    Jul 8, 2022❤️1
    34
    我记得同一域下资源请求并发数 chrome 是 6 吧?等于说 6*1*2000*8 Mb ?
    还得是不考虑缓存的情况
    lalalaqwer
    lalalaqwer
    Jul 8, 2022
    35
    既然是从页面优化引申出来的问题,不算超纲。本来面试就不像是笔试有固定答案参考的,沟通探讨问题的能力也是很重要的,不合适就 pass 掉吧!

    顺便,你不管问啥,来这里讨论,都会有人不满意的
    dcsuibian
    dcsuibian
    Jul 8, 2022
    36
    我觉得这问题问得挺正常的啊,本来就是需要通力解决的问题。
    假设服务器总共就 100M 带宽,200 个人一起访问好了,每个人只能分到 0.5Mbps ,别说图片了,网页加载都能长的一批。领导让前端优化加载时间,咋办?服务器不归前端管啊。
    snoopyhai
    snoopyhai
    Jul 8, 2022❤️1
    37
    如果问的是需要多大带宽. 那跟前端的确没多大关系.

    但如果说, 给定带宽. 让其出一个能让 2000 用户同时正常访问的方案. 是前端该考虑的问题.
    Ccbeango
    Ccbeango
    Jul 8, 2022
    38
    然后你把人家 pass 了?
    ttyn
    ttyn
    Jul 8, 2022
    39
    经验上吃了点亏
    使用 CDN 的成本,明显要远小于“能满足需求的带宽”的成本
    duanxianze
    duanxianze
    Jul 8, 2022
    40
    面试是为了找个合适的人,而不是我一定出个问题把你问倒,双向选择,人家也是要挑公司的,凭啥不能怼
    zooeymango
    zooeymango
    Jul 8, 2022
    41
    难道是 op 觉得自己问的没问题来找认同吗?
    sgissb1
    sgissb1
    Jul 8, 2022
    42
    这什么鬼问题。我虽然不是做前端的,我是做 native 开发的。但我也知道你这个问题就是脑筋急转弯。
    zhangxudong
    zhangxudong
    Jul 8, 2022❤️13
    43
    你是老板,你高兴就行
    Kasumi20
    Kasumi20
    Jul 8, 2022
    44
    公司能上多大的宽带就上多大的宽带,钱又不是前端出
    liweiliang
    liweiliang
    Jul 8, 2022❤️7
    45
    问得很好 下次不准问了 问前端这种问题 属实显得面试官不专业
    lscho
    lscho
    Jul 8, 2022❤️3
    46
    面试不是找茬的,面试是发现面试者的长处和优点的。
    Terry05
    Terry05
    Jul 8, 2022
    47
    老板好,您高兴怎么样都行
    standover
    standover
    Jul 8, 2022
    48
    emmm,他这么回答没有聊下去的必要了.可能是前面的聊天不是很愉快?
    ....我觉得我会马上追问.你们公司这都自己推流么?
    liweiliang
    liweiliang
    Jul 8, 2022
    49
    补一句 怼得不错 很好
    musi
    musi
    Jul 8, 2022
    50
    啥网站要同时加载 10 张 1M 的图片
    caqiko
    caqiko
    Jul 8, 2022
    51
    看到标题,就想到了 CDN 。OP 还招人吗
    learnshare
    learnshare
    Jul 8, 2022❤️2
    52
    服务器要多大带宽,跟前端没有关系
    页面和资源部署在哪里,前端也并不关心

    10 * 1MB ,2000 个用户这个问题也让人看不明白

    1. 10 张是否是同时加载,为何不优化体积和延迟加载
    2. 是否用 CDN
    3. 2000 个用户同时访问一台服务器,还是分流到不同的 CDN 节点
    4. 2000 个用户都是无本地缓存 /首次访问么,CDN 预加载过么
    5. 给用户期望的加载完成时间是多少,3s 还是 3min

    6 年的前端,或许连服务器都没操作过,你问这个确实容易让对方生气
    Kasumi20
    Kasumi20
    Jul 8, 2022
    53
    而且只说 2000 个用户同时访问,没说时间,那我给你 1m 的小水管,你慢慢等加载吧,64kbps 宽带时代都有人网上冲浪呢。
    DamonLin
    DamonLin
    Jul 8, 2022
    54
    震惊
    masterclock
    masterclock
    Jul 8, 2022
    55
    这难道是前端可以管的事情吗?图在哪里就是哪里,前端怎么也管不了啊。
    有些服务也未必需要 CDN ,一些内部自用工具,没多少人访问,要什么 CDN
    quicksand
    quicksand
    Jul 8, 2022
    56
    @wangkun025 不太理解,请问为啥要*8 啊
    LxnChan
    LxnChan
    Jul 8, 2022
    57
    你要是就这么直说肯定不行,我点进来之前先合计了一下要是我会怎么回答,结论是我也不知道。
    ---
    首先你没说页面上这些图片的展示形式(背景图、Gallery 、banner 轮播图?),如果是 Gallery 那种的可以懒加载,这样 2000 次访问一下就少了很多。
    ---
    也确实,前端没有必要细算这种东西,不然要运维干嘛。
    LxnChan
    LxnChan
    Jul 8, 2022❤️1
    58
    @quicksand 他算的应该是 Mbps 吧
    theprimone
    theprimone
    Jul 8, 2022
    59
    令人窒息的操作
    liangch
    liangch
    Jul 8, 2022
    60
    就像之前一位要程序员提 figma 建设的。太傻了。
    v2xiaolang
    v2xiaolang
    Jul 8, 2022
    61
    156M
    v2xiaolang
    v2xiaolang
    Jul 8, 2022
    62
    10*1*8*2000/1024
    wangtian2020
    wangtian2020
    Jul 8, 2022
    63
    造火箭?这都什么不切实际的题目啊
    为什么非得图片是 1MB ,图片是不是可以有损啊。
    图片全部设置缓存,一次加载永久缓存。
    压成 jpg 可接受的范围,两三百 KB 。判断用户浏览器是否可以接受 avif 格式图片,压到 100KB 一张图。
    计算带宽啊,前端哪管你计算带宽,只管优化。
    iiqiu
    iiqiu
    Jul 8, 2022
    64
    可能你想问的是 页面有 10 张图片每个 1MB ,2000 个用户同时访问能做什么优化吧 。需要多大带宽什么鬼。但是看了你的回复,答案不重要,估算一下就好了,又好像确实问的需要多大带宽。
    u823tg
    u823tg
    Jul 8, 2022
    65
    现在面试都是脑筋急转弯。
    kemistep
    kemistep
    Jul 8, 2022
    66
    问的问题就不太符合前端?

    应该这样问:
    由于业务高保真需要,页面放置了 10 张高清图片,每个高清图片在 1M 左右,前端页面如何设计,可让用户浏览更舒服,有丝滑体验;

    10 张图片是轮播图,如何设计?
    10 张图片是竖着房,如何设计?
    yhxx
    yhxx
    Jul 8, 2022
    67
    你问这种问题感觉起不到什么筛选价值啊
    而且很容易被我这种背了无数八股文的很容易就唬住了
    twing37
    twing37
    Jul 8, 2022
    68
    结合语境,应该是放弃 CDN 方案后,问自己的服务器如何降低成本的吧? 降低在哪块?

    而前端的这位同学估计只琢磨了技术问题. 脑子一懵. 这不是我做的,是后端做的方案.我哪知道.

    是不是这样的场景就通顺多了.

    这哪叫怼.着实属于唠闲嗑.
    duan602728596
    duan602728596
    Jul 8, 2022
    69
    能问出这**问题,一看用户就没多少。用户多了,自然啥都知道了
    kemistep
    kemistep
    Jul 8, 2022
    70
    前端让用户体验更舒服,不应该有卡顿,前端是保证用户体验的;
    hxysnail
    hxysnail
    Jul 8, 2022❤️3
    71
    我司招外包,面下来的感觉是,前端知识面普遍都比后端窄,而且窄的不是一丁半点。但报价普遍都比后端要高……是因为学前端的人不多咩……

    而且很多前端外包,就只是会点 js ,加个框架,没了……网络协议啥的都不一定会,HTTP 和 TCP 都分不清楚。还记得有一个原来是写 Vue 的,我的项目是 React ,干了两周没学会就想逃,美其名曰想继续做 Vue 。但问题是,他 Vue 也没学明白,只是能写而已。

    我有时就在想,干后端,什么语言趁手就用上,换框架更是家常便饭。我在实习时有个考核项目更是要自己造框架,不能用已有的。但前端语言就那么一门,马车就那三架,本来门槛要低很多。但不少人总觉得,这跟自己无关,那跟自己无关,所以水的一逼。
    shunia
    shunia
    Jul 8, 2022
    72
    看标题还给看我愣了一下,答案应该就是最大带宽=图片数量乘以图片尺寸吧。
    假如用户分布在不同的边缘节点附近,那么源站流量就是最大的情况;
    假如用户分布在相同的边缘节点附近,那么源站流量就是最小的情况(不过也不排除 CDN 那儿有 bug 拉多次源,虽然现在可能不存在这样的 CDN 服务商了);
    sardina
    sardina
    Jul 8, 2022❤️2
    73
    @hxysnai 你都招前端外包了,面试的人水平能高到什么地方去。
    wangkun025
    wangkun025
    Jul 8, 2022
    74
    @quicksand 大家都乘了。
    hxysnail
    hxysnail
    Jul 8, 2022
    75
    @sardina 确实都不高,我是拿同是外包的前端和后端做横向对比
    westoy
    westoy
    Jul 8, 2022
    76
    CDN 不归他管, 难道找 IDC 买峰值带宽归前端管? 或者让你用 webrtc 手撸 PCDN?

    这问题就是逗你玩儿的, 怎么回答都是错的
    h1104350235
    h1104350235
    Jul 8, 2022❤️3
    77
    我是老板,只设计业务方向,不设计技术方案,哈
    看到这个,我就觉得挺正常的了。
    nonduality
    nonduality
    Jul 8, 2022
    78
    这年头最恨一个页面动不动下载一堆东西,各种资源根本不压缩,一打开耗一堆流量。
    banricho
    banricho
    Jul 8, 2022
    79
    关前端屁事,你还不如问问怎么把这些图片的体积降下来,有哪些方案可以提高用户访问速度
    yedanten
    yedanten
    Jul 8, 2022 via Android
    80
    不会技术的来面技术,技术岗位职责都分不清。被怼不是很正常嘛
    wangnimabenma
    wangnimabenma
    Jul 8, 2022
    81
    自信点,你问的点没问题。前端技能树里应该包含 CDN 的知识点,面试过程中只是做了扩展,目的是引出为什么不用 CDN 要单机。
    https://roadmap.sh/frontend
    lkk
    lkk
    Jul 8, 2022
    82
    你也怼回去,竖式乘法是小学三年的小朋友该掌握的。
    dolphintwo
    dolphintwo
    Jul 8, 2022
    83
    "我只是个前端,服务器的事情我不管" 这就是正确答案
    bitmin
    bitmin
    Jul 8, 2022
    84
    如果我是面试官问这个问题,对方瞎扯或者说不会都没事,就是多了解一下面试者。面试碰到不会的很正常,问到不会的才知道能力有多少,想起来当年毕业答辩,几个老师越问越深入,我一脸懵逼,当年不理解,现在理解了。
    shenqi
    shenqi
    Jul 8, 2022
    85
    作为前端,不知道怎么回答你这个问题好。
    AS4694lAS4808
    AS4694lAS4808
    Jul 8, 2022
    86
    套路云 1M 带宽多省钱,用户什么的,让他们慢慢等
    lueluev
    lueluev
    Jul 8, 2022
    87
    散了吧,楼主是老板,想招的是架构
    456789
    456789
    Jul 8, 2022
    88
    声东击西,面个试都得这样吗
    leafre
    leafre
    Jul 8, 2022
    89
    这种态度的应聘者早点 pass ,入职也不好管理
    c1273082756
    c1273082756
    Jul 8, 2022
    90
    你也不是个啥好东西
    kemistep
    kemistep
    Jul 8, 2022
    91
    [html5 data src 显示,img 的 data-src 属性及懒加载_程绵羊的博客-CSDN 博客]( https://blog.csdn.net/weixin_42513365/article/details/117895056 )

    这才是前端应该解决的问题;
    deplivesb
    deplivesb
    Jul 8, 2022
    92
    这个问题问得

    没啥水平
    guanhui07
    guanhui07
    Jul 8, 2022
    93
    这个问题问得

    没啥水平
    newmlp
    newmlp
    Jul 8, 2022
    94
    1m 带宽也够了吧,又不是不能用,无非就是慢点
    suyuyu
    suyuyu
    Jul 8, 2022
    95
    这道题后端也不会
    scys
    scys
    Jul 8, 2022
    96
    多少带宽超纲,不过需要多大流量不超。

    其实也不超多少,是个人都能算 bytes 多大吧。
    iweus
    iweus
    Jul 8, 2022
    97
    单从问题上看不就是让算出具体带宽吗?这要发散起来不是没完没了了
    wakaka
    wakaka
    Jul 8, 2022
    98
    这个问题其实挺好的,可以发散出很多问题。比如这张十张图片是一起请求呢?还是先渲染首屏的几张即可。图片的格式是什么?为啥这么大?几倍图?压缩了吗?图片格式是用户浏览器支持的最优格式吗? HTTP 几啊?如何实现 in-view?怎么把图片同步到 CDN 呢,这总是你的工作吧?你的网页性能不需要关心首屏时间吗?还有各种指标。设计指标是什么?云云。最终一起决定了需要多少带宽。
    一个优秀前端到是可以用这个问题权且可以识别一二。
    如果找一个 pageman ,知不知道无所谓
    nicholasxuu
    nicholasxuu
    Jul 8, 2022
    99
    1. 实在不行应该用 CDN 。
    2. 1MB 图片太大了,不能用,压缩,换格式,切块懒加载再说。
    3. 普通的前端确实不应该要考虑这个问题,架构那儿应该已经处理好了。
    Qlccks2
    Qlccks2
    Jul 8, 2022
    100
    问的有问题 跟脑筋急转弯一样
    1  2  
    ❮ ❯
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1469 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 255ms · UTC 22:35 · PVG 06:35 · LAX 14:35 · JFK 17:35
    ♥ Do have faith in what you're doing.