好未来-golang一面-技术面-9月7号-硬核

img

  • 一面总时长1小时15分钟
  • 硬核面经
  • 真的面麻了,这就是大厂的压迫感吗
  • 真的求过呀,给孩子一个机会吧

  1. 自我介绍
  2. 为什么频繁的更换实习?寒假一个、暑假一个
  3. go a. GMP ⅰ. 简单讲解一下 ⅱ. 本地队列的数量多少个 ⅲ. golang是否支持抢占式调度?
    1. 哪几种场景会进行抢占式调度? a. 怎么保持cpu一直不被协程占用的呢,满足什么条件会退出呢?通过什么方式来进行切换的? ⅳ. g0线程(协程)和m0线程一般都担当什么职责? b. 怎么保持全部协程执行完毕,主协程再退出? c. make和new的区别? d. 进程、线程、协程之间的区别? ⅰ. 为什么线程的上下文切换比进程快很多? ⅱ. 线程的资源分配到哪里? ⅲ. 线程的资源是每个线程独享的吗、还是共享的? e. GMP中本地队列有256个,一个G绑定一个P的时候,跟它的M不是配对的嘛?当他们都绑定之后,在本地最多可以执行多少个g?可以说在p中最多可以存储多少个g来执行?一个p中最多可以存储多少个g?肯定是高于256个,至于多几个,多在什么地方知道吗?本地存储到多少个队列的时候会全局队列里放? f. 当我在执行本地队列里的goroutine的时候,比如说本地队列的256是满的,这个时候我去输出我执行的goroutine,他是全部从本地队列去拿还是会夹杂着全局队列?(限定一下,当我在执行的时候,把goMaxProxy限定为1,打300个goroutine进去,输出的时候会输出到全局队列吗?前256会有全局队列吗) g. GC ⅰ. 说一下GC ⅱ. JAVA的GC用的什么算法 ⅲ. GC在哪几种场景下会触发?
  4. 计网 a. http状态码 ⅰ. 4xx
    1. 403、404、499 ⅱ. 5xx
    2. 502、504、
    3. 502、504的区别 b. TCP ⅰ. TCP是怎么保持长链接的?如果用TCP做长链,怎么保持? ⅱ. 长链和短链有什么区别?
    4. tcp的探活(心跳)是多长时间?
  5. go-zero a. 就是我们公司开源的,万俊峰开源的,好未来的 b. 虽然是我们内部的,但是我们不用了 c. 万俊峰今年刚从我们公司离职了,之前是小黑板业务的,后来双减之后小黑板业务停摆,就离职了
  6. redis a. 哪些数据结构 b. set、zest的底层数据结构 ⅰ. 简述一下跳表
    1. 在redis中最多向上建多少索引
    2. 在向上建冗余层的时候怎么样决定向上是否还有一层,是用什么算法的来决定的?他是多层索引,我这个数据页向上有几层索引是怎么来决定的? c. 集合或者有序集合什么场景用的比较多? ⅰ. 集合类型比较典型的使用场景是标签(tag).例如一个用户可能对音乐感兴趣,另一个用户对新闻感兴趣,这些想去点就是标签.有了这些数据就可以获得喜欢同一个标签的人,以及用户的共同喜好的标签,这些数据对于用户体验来说比较重要. d. 持久化有几种方式 ⅰ. 区别? e. 当redis的内存满了之后会怎么样? f. redis有几种场景会删除他存储的数据?
  7. mysql a. 事务特性 ⅰ. ACID怎么实现的? b. 事务隔离机制有几种?默认的是什么? ⅰ. 幻读出现在哪种隔离级别?会在哪种隔离级别中出现? c. 日志 ⅰ. 有几种?我只说出三种,第四种是真没听过 d. 索引 ⅰ. 有几种索引? ⅱ. 聚簇索引与非聚簇索引的区别? ⅲ. 覆盖索引是什么场景下产生的? ⅳ. 合并索引(merge index)是在什么场景下产生的?这个在项目中是经常使用的 ⅴ. 建索引有什么规范、规则 ⅵ. like能用到索引吗? ⅶ. 怎么确定哪些能走到索引哪些不能走到索引?应该怎样建索引?建索引的规则、规范?
  8. 项目 a. 点赞的业务并发问题处理? b. 在哪里加的锁? c. 你加锁是不是限制了自己的并发,来换取数据的一致性? d. 应该用redis、就是我前面问你的集合的场景。一个帖子就是一个集合,谁点过赞,谁就在集合里,集合有个member、有个score,点赞的时间就是score,这样的话我对帖子的所有数据已经提前聚合好,可以最快的速度拿来? 最终落库的时候,可以考虑落,也可以不落
  9. 实习能够实习多久,转正了呢?
  10. 一周实习几天?
  11. 寒假在哪实习的?暑假来的北京?可以接受其他城市吗?
  12. 面试结果三天之内有人联系,就过,没人联系就挂。
  13. 北京的校招不清楚,成都有自己的校招
  14. 好未来有100多个子公司,成都这个属于集团内部第四
  15. 总部在北京,不清楚北京的校招怎么样?
  16. 你现在大三没法转正,实习可以转正,可以提前转正,有名额、转正名额相对较多、实习问的相对较多
  17. 简历写熟悉的问的较多
  18. golang属于公司新开辟的业务线,旧的业务线属于夹杂着golang和php,但仍以golang为主
  19. 房子自己住、有餐补、薪资找人事了解
  20. 校招和实习是分开的,校招不会要大三的,一半大四下学期要校招。实习就是提前培养人才,然后再筛一波。如果实习表现不好的话,校招还有一次机会。本来实习是两面的,但是最近比较忙,就一轮技术面。校招难度较大一般三轮技术面。有实习比校招占很多优势。
  21. 我们业务上还是有优势的,来的话培养是没问题的,因为我们有足够多的业务支持。
  22. 了解一下最快的入职时间,得等成都疫情解封才能入职

全部评论
兄弟们,等了这么久,今天hr终于给我打电话啦,一面过了!!!
3 回复 分享
发布于 2022-09-19 22:01 北京
好家伙,9月21号二面群面,今天(10月20号)hr终于给我打电话了,二面过了,拿到好未来offer了
2 回复 分享
发布于 2022-10-20 11:05 北京
23届的咋还在面实习呢
2 回复 分享
发布于 2022-09-11 11:43 重庆
怎么保持cpu一直不被协程占用?满足什么条件会退出?通过什么方式切换? goroutine支持信号抢占式机制,一个goroutine不会一直占用cpu,在执行超过一段时间后让出。 每个系统级线程m在初始化时,会注册一个可以接收sigurg信号的handler,这个sigurg信号由sysmon的监视器发出,sysmon单独占用了一个系统级线程m,sysmon每隔一段时间会检测goroutine是否执行超过10ms或是否执行gc,如果满足条件就会给对应线程发送sigurg信号,对应的handler开始执行,并给正在执行的协程打上标识,在检查当前栈是否溢出的地方判断,符合条件后线程会保存协程g的上下文,这样如果下次这个协程仍被这个线程执行,就可以恢复到上次执行的位置。当前协程会被丢弃到全局队列中,同时线程执行下一个协程。 参考链接:https://juejin.cn/post/6972893426425528357
1 回复 分享
发布于 2022-09-22 15:53 北京
校招可以试试我首页帖子
1 回复 分享
发布于 2022-09-17 09:19 上海
卧槽,这个问题是真的细啊,面试官是大佬啊
1 回复 分享
发布于 2022-09-11 00:07 四川
看完不敢面了…这也太难了
点赞 回复 分享
发布于 2023-06-13 16:15 北京
佬 得物了解下不 【得此好物,心潮澎湃】 七大职类:技术类、风控类、职能类、设计类、供应链类、产品类、运营类 三大城市:上海、杭州、廊坊 投递链接: https://app.mokahr.com/m/campus_apply/thedu/37483?recommendCode=DSDdd9KJ#/jobs  内推码申请优先筛选简历,内推码:DSDdd9KJ
点赞 回复 分享
发布于 2022-09-16 18:17 陕西
【g0线程(协程)和m0线程一般都担当什么职责?】答:g0是执行调度任务,m0是第一个运行的内核系统线程 (1)m0 是 Go Runtime 所创建的第一个系统线程,一个 Go 进程只有一个 m0,也叫主线程。 (2)m0 是进程在启动时应该汇编直接复制给 m0 的,其他后续的 m 则都是 Go Runtime 内自行创建的。 (3)g0 和常规的 g 不一样,没有那么多种运行状态,也不会被调度程序抢占,调度本身就是在 g0 上运行的。 (4)g0 和其他创建的 g 在数据结构上是一样的,但是存在栈的差别。在 g0 上的栈分配的是系统栈,在 Linux 上栈大小默认固定 8MB,不能扩缩容。而常规的 g 起始只有 2KB,可扩容。 参考文档:https://blog.csdn.net/EDDYCJY/article/details/115683313
点赞 回复 分享
发布于 2022-09-11 10:50 四川
lz今年不是大四吗
点赞 回复 分享
发布于 2022-09-08 14:43 云南
这也太难了
点赞 回复 分享
发布于 2022-09-08 10:04 山东
请问是base成都的实习吗
点赞 回复 分享
发布于 2022-09-08 08:29 四川
唉 我面的北京的golang岗 好像难度没这么大 不过昨天感谢信了 非常难过 还是比较向往好未来的😭
点赞 回复 分享
发布于 2022-09-08 01:48 福建

相关推荐

头像
10-13 18:10
已编辑
东南大学 C++
。收拾收拾心情下一家吧————————————————10.12更新上面不知道怎么的,每次在手机上编辑都会只有最后一行才会显示。原本不想写凉经的,太伤感情了,但过了一天想了想,凉经的拿起来好好整理,就像象棋一样,你进步最快的时候不是你赢棋的时候,而是在输棋的时候。那废话不多说,就做个复盘吧。一面:1,经典自我介绍2,项目盘问,没啥好说的,感觉问的不是很多3,八股问的比较奇怪,他会深挖性地问一些,比如,我知道MMU,那你知不知道QMMU(记得是这个,总之就是MMU前面加一个字母)4,知不知道slab内存分配器->这个我清楚5,知不知道排序算法,排序算法一般怎么用6,写一道力扣的,最长回文子串反问:1,工作内容2,工作强度3,关于友商的问题->后面这个问题问HR去了,和中兴有关,数通这个行业和友商相关的不要提,这个行业和别的行业不同,别的行业干同一行的都是竞争关系,数通这个行业的不同企业的关系比较微妙。特别细节的问题我确实不知道,但一面没挂我。接下来是我被挂的二面,先说说我挂在哪里,技术性问题我应该没啥问题,主要是一些解决问题思路上的回答,一方面是这方面我准备的不多,另一方面是这个面试写的是“专业面试二面”,但是感觉问的问题都是一些主管面/综合面才会问的问题,就是不问技术问方法论。我以前形成的思维定式就是专业面会就是会,不会就直说不会,但事实上如果问到方法论性质的问题的话得扯一下皮,不能按照上面这个模式。刚到位置上就看到面试官叹了一口气,有一些不详的预感。我是下午1点45左右面的。1,经典自我介绍2,你是怎么完成这个项目的,分成几个步骤。我大致说了一下。你有没有觉得你的步骤里面缺了一些什么,(这里已经在引导我往他想的那个方向走了),比如你一个人的能力永远是不够的,,,我们平时会有一些组内的会议来沟通我们的所思所想。。。。3,你在项目中遇到的最困难的地方在什么方面4,说一下你知道的TCP/IP协议网络模型中的网络层有关的协议......5,接着4问,你觉得现在的socket有什么样的缺点,有什么样的优化方向?6,中间手撕了一道很简单的快慢指针的问题。大概是在链表的倒数第N个位置插入一个节点。————————————————————————————————————10.13晚更新补充一下一面说的一些奇怪的概念:1,提到了RPC2,提到了fu(第四声)拷贝,我当时说我只知道零拷贝,知道mmap,然后他说mmap是其中的一种方式,然后他问我知不知道DPDK,我说不知道,他说这个是一个高性能的拷贝方式3,MMU这个前面加了一个什么字母我这里没记,别问我了4,后面还提到了LTU,VFIO,孩子真的不会。
走呀走:华子二面可能会有场景题的,是有些开放性的问题了
点赞 评论 收藏
分享
09-13 18:00
武汉大学 Java
点赞 评论 收藏
分享
评论
15
150
分享

创作者周榜

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