跳至主要內容
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?

4563博客

全新的繁體中文 WordPress 網站
  • 首頁
  • 请用 go 语言实现
未分類
14 5 月 2020

请用 go 语言实现

请用 go 语言实现

資深大佬 : accidentaly 13

– 实现方法:FindFatestUrl(ctx context.Context,urls []string)(url string,ts time.Duration)
– 找出最快响应 200 的 url 及其响应时间
– 并发请求 url,但同一时刻最多并发请求 5 个 url
– 请求发送 3 秒后若未返回则超时,视为请求失败
– 仅使用 Go 标准库,可使用伪代码表示发送 http 请求
大佬有話說 (9)

  • 資深大佬 : ym1ng

    作业请自己做(手动狗头

  • 資深大佬 : fiypig

    面试题吗

  • 資深大佬 : morty961

    这个面试题我也做过。变量名都一样,不会是同一家公司吧

  • 資深大佬 : dallaslu

    话说这个题的 point 在协程吗?

  • 資深大佬 : sadfQED2

    每个 url 都开一个 go 程请求下,请求结束添加到管道,管道够 200 个就返回,是这个意思吗?

  • 資深大佬 : WhatC

    @sadfQED2 200 是 http 的 200 吧

  • 資深大佬 : blackeeper

    伪代码,golang 初学者,请大神检阅
    “`
    #urls 放入通道
    go func() {ch <- urls;ch.Close()}()
    #五个 goroutine,并发
    for i=0;1<5;i++ {
    go func() {
    for url := range ch {
    #消费通道
    r,err := httpGet(url,timeout=3)
    if err != nil || err == TimeoutError {
    log.err(“请求失败:%s”url)
    break
    }
    #存储返回 200 的结果
    if r.StatusCode == 200 {
    ts := r.time.Duration
    results[url] = ts
    }

    }
    }()
    }
    #最快相应 200 的 URL
    sortTime(results)
    “`

  • 資深大佬 : blackeeper

    ![伪代码]( https://imgchr.com/i/t7sPoV)

  • 資深大佬 : xkeyideal

    作业不会做,给钱,我给你完整可运行的实现方案

文章導覽

上一篇文章
下一篇文章

AD

其他操作

  • 登入
  • 訂閱網站內容的資訊提供
  • 訂閱留言的資訊提供
  • WordPress.org 台灣繁體中文

51la

4563博客

全新的繁體中文 WordPress 網站
返回頂端
本站採用 WordPress 建置 | 佈景主題採用 GretaThemes 所設計的 Memory
4563博客
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?
在這裡新增小工具