V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
majianglin
V2EX  ›  程序员

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

  •  2
     
  •   majianglin · 2022-07-08 11:31:24 +08:00 · 17344 次点击
    这是一个创建于 867 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    这才是前端应该解决的问题;
    deplivesb
        92
    deplivesb  
       2022-07-08 16:01:23 +08:00
    这个问题问得

    没啥水平
    guanhui07
        93
    guanhui07  
       2022-07-08 16:09:11 +08:00
    这个问题问得

    没啥水平
    newmlp
        94
    newmlp  
       2022-07-08 16:12:16 +08:00
    1m 带宽也够了吧,又不是不能用,无非就是慢点
    suyuyu
        95
    suyuyu  
       2022-07-08 16:13:34 +08:00
    这道题后端也不会
    scys
        96
    scys  
       2022-07-08 16:20:44 +08:00
    多少带宽超纲,不过需要多大流量不超。

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