2021.7.26 字节 技术中台一面面经

2021.7.26 字节终端平台一面面经

PreWork:

自我介绍:

面试官好, 我是来自***, 目前是一名计算机学院大三的学生. 大一的时候加入了acm集训队, 在集训期间拿了一些区预赛竞赛名次,在大二下学期的时候,凭借算法基础, 拿到了字节远程实习的offer.(远程是因为当时疫情比较严重,武汉这边封城). 在实习的两个月里, 我领略到了许多开发项目相关的知识(疫情严重),在之后的半年里 我又自学了一些go 相关的知识, 然后在github上也做了一些demo, 今年寒假的时候, 我又拿到了腾讯 PCG的offer, 也是 go的后端, 在这边一直实习到现在.

FAQ:

Q:能讲一下之前在字节这边干了什么事儿吗?

A:**

Q: 在TX这边主要是做什么呢?

A:***

Q: 用到了什么技术栈?

A: 这边持久层用的MYSQL, 然后还有一些定时任务(trpc-orm),tdmq消息队列.

Q: 项目有没有遇到什么困难, 是怎么解决的.

A:拉取数据的时候,有一个比较重要的接口偶现502

1, 临时方案: 加上retry, 且设置retry次数.

2, 找了接口提供方联调,发现这边只能感知到成功请求的case, 问题初步定位在我跟接口方偶尔不通,

注意到这个接口经过了智能网关鉴权, 又拉上智能网关的运维, 发现我打到智能网关的路是通的, 问题出在智能网关和接口提供方不通, 后来拉上双方联调, 最终发现是 接口提供方要对智能网关出口的的几台IP加白.

还有一个git 相关的困难:

当时项目参加了EPC评分规范, 要求全量单测覆盖率要达到60%, 我边开发需求边补以前的单测, 提了一次MR, 合入master,上线之后发现有个边缘case 会导致panic. 赶紧回滚, 就revert了这次MR, 然后cover掉相关case之后,再提MR, 代码和合入进去跟以前一样,没有我新提交的改动.

Revert的本质是 在提一次MR 来重置之前commit, git历史会保留此词MR已经被重置了, 再想提此次MR的时候会 git会认为 这次来的commit 已经在历史上被revert了, 所以合入的结果始终是revert之后的结果;

解决方案: revert 掉之前的revert, 再提MR.

Q: 为什么有跳到这边来的想法?

A:这边的业务大多面向内部,流量不是很大, 纯写业务感觉成长比较少. 期望能到这边来接触并发量比较高的业务场景, 提升自己的技术.

面经

  1. 说说之前在字节的项目
  2. 说说你目前在tx做的项目(项目的意义,你是什么角色)
  3. 进程/线程/协程的区别
  4. 网络IO模型 (select poll epoll)
  5. linux 用的多嘛, 如何实现命令行跑定时任务, 如何查看端口占用情况(itoa), 查看本机网络情况(ifconfig), 如何让命令在后台运行(nohup & ), 然后给了一段命令 里面有 「2>&1」 描述一下什么意思(标准输入/输出流重定向), 怎么用命令行跑定时命令
  6. 给了一段go的代码 让你判断输出(涉及 结构体和接口之间的比较)
  7. docker 有用过么 讲一下怎么实现隔离的
  8. 切换进程的时候,有涉及到换页操作吗
  9. 给一段 子查询的 Mysql 语句 让优化(不会), 然后说一下 命令执行顺序 (from select where, order by,group by)
  10. 如果线上mysql出现查询效率极低,怎么debug (查bin log 利用时间戳找到耗时较长的语句, explain 这条语句,看看是否选错索引)

算法

image-20210726184601005

有无想问的问题:

  1. 业务类型 (ToB, CD/CI 建设 听说 au 6000/天)
  2. 工作地点(中关村,中航矮楼旁)
#字节跳动秋招提前批##面经##字节跳动##校招##golang工程师#
全部评论
强啊,算是道hard题
点赞 回复
分享
发布于 2021-07-26 19:35
兄弟哪里的岗位啊
点赞 回复
分享
发布于 2021-07-27 13:56
百信银行
校招火热招聘中
官网直投
请问进程切换有涉及换页这个怎么答呀
点赞 回复
分享
发布于 2021-08-16 19:35

相关推荐

2 26 评论
分享
牛客网
牛客企业服务