百度国际化— 社招Go(过) — 一面技术-深圳 - 7.8

一面-1小时 2024-7-8

  1. 自我介绍
  2. 共享屏幕
  3. 算法
    1. 两数之和
      1. 用暴力枚举写一了一下,问如何优化。
func twoSum(nums []int, target int) []int {
    for i, x := range nums {
        for j := i + 1; j < len(nums); j++ {
            if x+nums[j] == target {
                return []int{i, j}
            }
        }
    }
    return nil
}
  2. 用哈希表写了一下。 
func twoSum(nums []int, target int) []int {
    hashTable := map[int]int{}
    for i, x := range nums {
        if p, ok := hashTable[target-x]; ok {
            return []int{p, i}
        }
        hashTable[x] = i
    }
    return nil
}
     1. hashTable里面存的是什么?

2. 假如给 10 个 url,通过并发实现哪些 url 能通,最后一次性输出通的url和不通的url。go 实现 1. 先写的输出的通的,然后让输出不通的,都要一次性输出。 2. 让优化代码风格,注意变量命名 3. checkUrl函数优化,resp.Body.Close() 4. 以下是我的代码

package main

import (
	"fmt"
	"net/http"
	"sync"
)

// checkUrl
func checkUrl(url string, wg *sync.WaitGroup, reachableChan, unreachableChan chan<- string) {
	defer wg.Done()
	resp, err := http.Get(url)
	if err != nil || resp.StatusCode != http.StatusOK {
		unreachableChan <- url
		return
	}
	resp.Body.Close()
	reachableChan <- url
}

// checkUrl2  优化后的
func checkUrl2(url string, wg *sync.WaitGroup, reachableChan, unreachableChan chan<- string) {
	defer wg.Done()
	resp, err := http.Get(url)
	if err != nil {
		fmt.Printf("Error fetching URL %s: %v\n", url, err)
		unreachableChan <- url
		return
	}
	defer resp.Body.Close() // Ensure the response body is closed after all operations

	if resp.StatusCode != http.StatusOK {
		fmt.Printf("URL %s returned status code %d\n", url, resp.StatusCode)
		unreachableChan <- url
		return
	}
	reachableChan <- url
}

func main() {
	// 给 10 个 url 例子
	urls := []string{
		"https://www.baidu.com",
		"https://www.google.com",
		"https://www.bing.com",
		"https://www.yahoo.com",
		"https://www.yandex.com",
		"https://www.duckduckgo.com",
		"https://www.ask.com",
		"https://www.aol.com",
		"https://www.ask.com",
		"https://www.aol.com",
	}

	var wg sync.WaitGroup
	reachableChan := make(chan string, len(urls))
	unreachableChan := make(chan string, len(urls))
	for _, url := range urls {
		wg.Add(1)
		go checkUrl(url, &wg, reachableChan, unreachableChan)
	}
	wg.Wait()
	close(reachableChan)
	close(unreachableChan)
	//fmt.Println("resultChan:", resultChan)

	for url := range reachableChan {
		fmt.Println("通的url:", url)
	}

	for url := range unreachableChan {
		fmt.Println("不通的url:", url)
	}
}

  1. 项目

    1. 介绍一下我个人主页网站的架构。https://home.huchao.vip/。这就相当于一个应用,为什么能运行,肯定有一些机制,讲解一下背后的架构。
    2. https://home.huchao.vip/ 我的个人主页,点博客后,跳转到 https://blog.huchao.vip/ 我的个人博客页面。这中间发生了什么。
  2. 讲解一下公司ark方舟中台系统的架构设计

  3. 如果你接到工作,你对整个服务都不清楚,你是怎么开发的?

  4. 你做的是哪个服务?schedule-console,

  5. 详讲调度系统schedule-console

  6. 调度体现在哪?接收一些指令,然后去做一些工作

  7. 项目中,什么叫,利用Golang的并发特性和简洁语法实现高效的服务通信和数据处理逻辑。能细讲一下吗?

  8. 优化服务性能通过引入分布式缓存、负载均衡等技术﹐提升系统响应速度和可扩展性﹐预计服务性能提升30%以上

  9. mysql了解吗?你是怎么学的?有没有看过什么书?

总结:

  • 回答问题不用紧张,项目需要再熟悉,写的东西不管多还是少,只要写上了一定要了解,要有深度,不能只做开发,往上层要再想一想。
  • 又是0八股,项目是大头,项目的架构设计也是重点,不会啊。。。
#社招面试##Golang面经##项目##百度##Golang社招#
全部评论
老哥几年经验
点赞 回复 分享
发布于 2024-07-11 20:56 广东

相关推荐

不愿透露姓名的神秘牛友
03-15 10:59
已编辑
爱写代码的菜code...:哎,自己当时拿到字节offer的时候也在感叹终于拿到了,自己当时最想去的企业就是字节,结果还是阴差阳错去了鹅厂。祝uu一切顺利!!!
点赞 评论 收藏
分享
04-20 22:20
已编辑
门头沟学院 算法工程师
27届,bg为四非本211硕,如题,导师不放实习,且每周至少一次线下组会(工作日),从研一上开始实习,然后我组在研一下引入了打卡机五段大厂分别是:美团到店、美团服务零售、快手电商、字节TikTok、字节CapCut。目前要结束我的第五段实习了(不会再刷第六段,好好搞学校的事,还有秋招)本来一直告诉自己的是“所有委屈到了终点再说”,过去告诉自己的终点自然还没到,但我觉得自己仿佛已经到了另一个终点,有感而发,写了这篇文章也许你会觉得为啥不尝试问问导师能不能实习,或者用其他让自己舒服的手段,我只能说,这很复杂,有导师的人自然会懂,这种一开始就把“利益冲突”摆明面上的招几乎就是不可能成功———————————————————我到底是怎么实习的?骗hr自己满勤,然后没有捷径,就是每周往返,第一段去的是北京美团,而学校在江苏,因此需要一周一次北京江苏往返,因为实习钱少,所以坐的基本是绿皮,难以入睡,下车后就是长达2小时的地铁去公司,地铁站上靠着人睡觉周末做什么?基本在做导师的科研or横向,学习的话很多时候就是尽力在晚上回到出租屋的时候学,这很难维持,但只能不断push自己如何破解打卡机?直接把打卡机偷了,或者使用指纹膜(当然我很早就做好了无法破解的准备,那就是找个长三角实习,每天早起去打卡完坐高铁去实习,从每周高铁往返变成每天)导师会压力吗?非常压力,实习的时候非常害怕微信弹出他的消息,PTSD了,有时候一周要往返两次学校,每次都跟要死了一样,之前真是情绪崩溃好几次,哈哈哈哈平时往返怎么平衡工作?我本来很晕车,为了不耽误公司和导师的进度,从车上一看电脑就头晕、吐,到后面可以随意在高铁、地铁、出租车上Coding,甚至不会再因为往返感到心累了,哈哈哈哈这一路已经淬炼出比较坚强的内心了,已经数不清多少次坐末班高铁从学校回公司,多少次凌晨6点爬起来赶车过去我会把这些当作是我人生的弯路,但现在,这些已经成为我宝贵的经验了。往后,我想我也能真正允许各种不好的情况出现了,因为我会真正把它当作我要解决的问题,而非抱怨,这又何尝不是终点呢?要照顾好身体,我不管怎么往返,一直非常在乎身体,会让自己睡够8小时,最近几星期培养早睡早起到公司健身后去工作的习惯,我觉得好身体很关键
gtgt..:很佩服,但是很恐怖,感觉已经从人类异化到高度运转的机器了
美团成长空间 2791人发布
点赞 评论 收藏
分享
评论
7
12
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务