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

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

  •  2
     
  •   majianglin · 87 天前 · 15178 次点击
    这是一个创建于 87 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    这才是前端应该解决的问题;
    deplivesb
        92
    deplivesb  
       87 天前
    这个问题问得

    没啥水平
    guanhui07
        93
    guanhui07  
       87 天前
    这个问题问得

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

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