七年老程序员面试经历

发布于: 2020 年 05 月 27 日
七年老程序员面试经历

2020年3月2号开始,保持每天一个面试的频率开始面试,下面介绍下面试经历。

1、第一家公司是 跟谁学 ,职位是基础架构研发

他们是想自动化运维,主要使用python语言。我虽然写过一段时间的python,但是并不是第一语言。

一面主要聊了聊python基础,和一些基础算法,比如深度优先和广度优先算法。

最后写了一个实际题目,使用python开启多进程(进程数为CPU核数)队列消费

过了大概一周实际,又做了二面,基本都是考察python和算法基础,写了10道题,在这里就不细说了,

大概就是 python的运行周期 和 GC机制

两天后,进行了3面,估计是他们的总监吧,开始也是先暖场,聊一下项目经历和职业诉求,出了一道算法题,

不使用任何内置函数,对两个有序数组取并集且是去重的,但是算法没怎么准备,

现场也没写出来,浪费了这次机会,缺失是挺可惜的

2、第二家公司是好未来,Golang研发工程师

一面主要聊了聊项目经验,以及在项目中的站位,和处理问题的思维模式和经历。

Golang 只聊了一些基础,比如GC 模式, MPG模型等

mysql 聊了索引实现原理 和 日常 mysql 优化方法,以及在面临 技术选型 时如何判断

redis 聊了聊 过期原理,zset 内部结构 跳表等

最后写了一道算法题,洗牌算法

二面依然是视频面,明显感觉段位高一点,主要聊项目经历

架构设计能力 以及 在项目中所处的位置,也是是百度校友,聊得也比较投机

三面是总监面,也是主要聊项目,后面聊了聊假定的情景中,遇到了问题,

应该怎么样去思考,竟可能的想到所有可能出现的情况,如何去解决。

假定的情景也比较简单,就是 老项目迁移如何做到无损迁移。

总体面试还算比较顺利,中间有hrbp面试,就是随便聊聊比较简单。最后顺利拿到offer

3、第三家公司是趣头条,PHP研发工程师

一面是电话面,因为问的比较基础,又是电话的形式,基本上没什么难度

基本上就是mysql,redis,php,golang,linux 基础题目,多说无益

二面应该是组长,视频面的

提高了段位,问的都是一针见血的问题

select a,b from table where a order by b , ab的联合索引 是否能用到索引

redis zset 跳表的步长问题

mysql 默认是rr隔离级别,如何解决幻读问题,GAP锁实例

递归实现二叉树高度,二面勉强通过吧

三面是经理,主要聊项目经历,架构设计,算法写的比较简单,

冒泡排序 和 插入排序, 递归算法,聊得还算可以,最后也顺利拿到offer

4、 第四家公司是云账户,php研发

一面是项目经历和基础知识面,非常顺利

二面是交叉面,别组组长,简单聊了了经历后,出了个算法

连个有序数组,求交集,时间复杂度竟可能小

我写出来,漏斗比较多,面试官又比较较真,最后就挂在了这里

5、头条,Golang研发

一面和二面对调了,先来得是二面面试官

牛客网在线面试,也是上来先暖场,聊了项目经历,架构设计

问了些技术问题,比如mysql事务回滚后,是否记录binlog,分布式事务的一些实现方法和实际应用。

最后写了一个,比较变态的算法,数据流依赖关系

二面也是比较基础,处理聊聊项目经历后

问了单点登录的一些常规设计,算法写了一个 多线程实现顺序输出1~100

三面是他们经理,不过看着很年轻

在项目描述中,抽取出了一些算法,让现场写,确实难度比较高,

比如 我项目组描述在流式算子中开发了过滤算子,他就是让写出所用过滤算法,

但是我的项目描述也是吹的成分较多,过滤算子其实只是正则和字典过滤,算法实现很简单

后面聊技术的时候,聊到 mysql 底层的缓存污染和缓存淘汰算法LRU,

也让现场写,没准备好,难度也比较大,最后也就挂在了这里。

6、贝壳 ,php研发

一面,日常基础,awk,mysql,redis,php,比较基础

二面,项目经历,redis 的rehash原理,mysql索引实现

三面,比较比较自信的技术,redis单线程 高效的原因,中台架构的利与弊

面试比较常规,最后也谈到了offer

后面还有很多家,回头更新。。。

发布于: 2020 年 05 月 27 日 阅读数: 14
用户头像

代码诗人

关注

文艺程序员 2019.08.30 加入

优雅代码诗

评论

发布
暂无评论
七年老程序员面试经历