头条研发-SRE运维研发实习生视频面试(一, 二面)杂记

引子

「你叫咩名」

一面 (~30min)

江湖规矩自我介绍, 很罕见的没有用算法题起手, 直接就问很具体的问题, 点个赞 <3

  1. 问: 统计日志某一列每行内容出现次数 答: 用 Python 简单写了一下
  2. 问: 如果用 shell 怎么写 答: shell 我不是很熟, 只会用一些命令, 诸如 cat, grep, wc…
  3. 问: Linux 有用过故障查看, 负载查看相关命令吗 答: 查看负载用 top 比较多…
  4. 问: 那 top 这块, 你知道 top 命令第一行显示的是什么吗 答: 我知道 top 大概是看 CPU 占用跟内存占用, 还可以排序
  5. 问: CPU 负载和 CPU 使用率有什么区别 答: 没区别(gg)
  6. 问: vim 用的多吗 答: Linux 下我只用 vim
  7. 问: 那你说下 vim 删除一行, 切到最顶/最底, 显示行号 答: dd, gg/G, :set nu
  8. 问: TCP 三次握手说一下 答: blahblah…(主动方, 被动方, syn, ack, 序号, 序号+1, …)
  9. 问: HTTP 跟 HTTPS 的区别 答: 首先 HTTPS 是基于 HTTP 的, 然后……(SSL, 公钥, 证书授信, 对称/不对称加密)
  10. 问: Cookie 的用途 答: blahblah…(存在客户端, 用于鉴权, …)
  11. 问: Cookie 是放在哪里的 答: 如果是请求的话, 是放在请求头里的
  12. 问: Cookie 和 Token 有什么区别 答: 二者是一样的(其实这里没听懂面试官说的 Token 是啥意思, 不了了之了)
  13. 问: Cookie 与 Session 有什么区别 答: ……(包含关系, 服务端, 凭据盗用, 过期, …)
  14. 问: 之前公司的情况 答: ……
  15. 问: 你未来的规划 答: ……(一线, 工程师, 社区科学家, …)
  16. 问: MySQL 主从备份原理说一下 答: 主机写 binlog, 从机定时读 binlog 做追加
  17. 问: Python 会多少 答: 爬虫和自动化比较熟一点
  18. 问: 爬虫你讲一下 答: ……(踩点, 编码, 调试, …)

说完直接告知我等 5 分钟开始二面
说实话面完一面我心里是很 happy 的, 操作系统, 计组, 网络, 算法这些短板, 几乎没怎么问
倒是一些很具体化很细节的问题问了很多, 像 vim 这些的, 很亲切, 很舒服, 然而…

二面 (~40min)

二面就回归传统了, 八股文式的问题, 两道算法题骑脸, 基本操作
不过自我介绍环节倒是罕见的先简单的介绍了下所在部门然后才开始让我讲 xD

  1. 问: 未来规划 答: …
  2. 问: 那我们聊一聊代码吧, 了解一下你的开发能力 答: …
  3. 问: 顺时针打印矩阵
  4. 问: 求周长最长/最短的三角形
  5. 问(-_-||): 一个网站打开都发生了什么 答: …(DNS, 缓存, HTTP, 渲染, …)
  6. 问: DNS 解析说一下 答: …(缓存, 网卡设置的 DNS server, …)(这里答的不好)
  7. 问: 拿到 ip 之后怎么拿 MAC 地址 答: 我知道你想问 ARP 协议, 但是我对协议没有了解, 但是知道 ARP 的一些用途比如 ARP 欺骗
  8. 问: php 常见的魔术方法, 魔术变量 答: …(construct, destruct, get, set, call, callStatic)
  9. 问: php 的安全模式和非安全模式有了解吗 答: TS 和 NTS 我只在装扩展的时候才会用 phpinfo 查一下, 并没有了解其中的概念
  10. 问: 怎么判断字符串的字符集 答: Python 有 chardet 追问: 不用库, 手写呢 答: 检测字符集特有的字符
  11. 问: 常见的 HTTP 头说一下 答: 请求头(cookie, referer, vary, etag, origin, …) 响应头(跨域, set-cookie, 缓存, …)
  12. 问: cache-control 是干啥的 答: 存超时时间的
  13. 问: cache-control 没过期和过期了浏览器分别的行为是什么 答: 没过期有 disk cache, 过期了直接请求
  14. 问: 发现浏览器不管过没过期都请求了怎么办 答: 可能用了强制刷新 追问: 没用呢 答: …(静态文件, 忽略 param, url 不同)
  15. 问: 改 Nginx 配置文件 listen 80, 改为 8080 答: 最简单的用 vim, 也可以用 sed
  16. 问: 用 sed 怎么写呢 答: sed regex 文件路径 -i
  17. 问: 一面的第一题, 只统计 aaa 出现的次数 答: cat | grep | wc
  18. 问: 如果只需要统计第一列怎么办 答: 可能要用 tr(其实是 awk, 但是我不会=. =)
  19. 问: 进程和线程的区别 答: …(gg)
  20. 问: git 怎么修改提交过的 comment 答: …(gg)
  21. 问: git 怎么撤销已经 push 的 commit 答: revert 或者 reset

然后是我问你答环节, 问了下 php, python 在头条内部的情况
被告知 php 已经绝迹, python 和 go 是目前头条内部的主流

后记

基友帮忙做的内推, 上周投的简历这周就安排面试了也是好顶赞
「吳好緹。吳廣德。」