新浪微博 PHP/Golang服务端开发 线下面试流程
前言:上周部门某位开发人员直接打电话预约三点线下面试的,之后会发短信访客码,凭借访客码才能进入新浪大楼。我提前半小时到了,到了之后前台小姐姐给了一个访客证但是不让进去,说到点面试官会下来接,让我安心等待。然后等到三点十分居然还没人下来,就打电话给面试官,他说以为我到了会打电话给他,我哭死。。。。。。
面试流程
1、四十五分钟笔试
2、带进来的面试官面试了四十五分钟
3、换另一位面试官面试了三十五分钟
4、面试记录报告给领导,我回去等消息。。。
笔试内容:
1、直接在打印的纸上笔试,纸上写着新浪高级研发工程师笔试试题(看完题本菜鸟表示“啊啊啊?这还是哪一年的笔试试题啊,不会新浪疫情这几年没有招过人吧。。。”)
2、有PHP的题,不会可以不做(我完全不会)
3、手写的 shell 命令(我也不会,没做)
4、一个算法题:求数组的最大和的连续子数组的最大和
5、Redis 哪些数据结构,如何处理并发
6、正则表达式的题。。。(不记得)
7、数据库结构设计
8、系统架构设计
一面内容:
1、根据笔试试题进行提问
2、Redis 的数据结构漏掉了bitmap,然后面试官就问了,bitmap是什么,有没有用过,什么场景下可以使用,原理是什么,怎么用。。。
3、Redis的 list 数据结构的实际操作,如何往list 写入数据,满足条件之后pop数据,以及如何一次性pop出一百个数据,用 Redis 命令来做 。。。
4、出了一个 SQL 场景,让写SQL语句,要聚合,要计数,要限制,要倒序
5、场景设计题:有一个几百个G的文件,如果限制十个线程来读取数据,怎么做,读取之后对每一行数据进行操作,用伪代码来写
6、在上一题的基础上 对每一行数据已空格划分,如果少于十个,就不管这一行,如果有的话就对第七行的数据进行计数
7、笔试里面的系统设计,如何设计一个登录注册系统,里面包含哪些步骤,详细详细的说,这个聊了得有十来分钟,说得不太行。。。
8、如果系统的请求量上来之后需要加限流,那么限流模块应该怎么加,加在哪里
9、我说了滑动窗口限流,然后就要我写滑动窗口限流的伪代码。。。。。
10、还知道哪些限流方式,具体怎么做的,然后我提到了漏桶和令牌桶,问他们之间的关系,以及做了哪些改进。。。
11、然后开始问简历项目,反复提到一句“这是你简历里面写的我才问的”
12、ETCD 的数据同步过程?
13、ETCD 中的数据上传是使用 TCP 协议还是 UDP 协议。。。
14、ETCD 是什么,有哪些优劣势,用来处理什么场景的。。。
15、Prometheus 中数据是如何传输的,如何实现实时的数据变更???(不知道,我说我只用过,了解的不多。。。)
16、Prometheus 有哪些数据类型,怎么使用的???(就记得几个用过的类型还说的不太清楚,然后好像还问了个啥问题我都不懂也就不记得了。。。)
(麻了,下次再也不敢乱在简历上吹牛了。。。)
问完这最后几个问题看我都不会就不问了,我哭死。。。
然后就找二面面试官来面试了。。。
二面内容:
1、自我介绍(到这我才想起来第一个面试官都没让我介绍)
2、介绍简历项目的架构,QPS多少,服务器怎么弄的。。。
3、有没有用过微博?粉丝多少???(我说我纯吃瓜群众,0粉丝)
4、如果让你设计要如何设计微博,如何设计共同好友功能、如何查看关注者更新,数据库如何设计?
5、有什么值得吹一吹的经历没?
6、简历项目中某个功能如果突然火爆了需要怎么处理才能保证系统还能正常运行
7、开放性问题:如果想要系统在高并发的场景下需要哪些设计,想到啥说啥,越详细越好
8、反问:部门是干什么的,技术栈有哪些(手机微博服务端,技术php和go)
9、回去等通知。。。
总结:
面试官给了我一瓶水,这趟没白跑,我哭死。。。
#24届软开秋招面试经验大赏#