2020年5月大厂面试复盘-devops岗和go开发岗

前言

2020年是一个充满挑战的年份,我从3月初第一次开始在leetcode上解题,开始真的是傻傻不会。后来4月下旬开始准备找工作,进入到正式的为了面试而刷题的阶段。5月份开始面试,总共面了3家,字节跳动,腾讯和滴滴。其中字节跳动是devops岗,另外两家是golang开发岗。5月底收offer,6月要入职字节跳动啦。截止到我收offer的时候,leetcode刷题200+。

先占个位置,这几天我要好好复盘一下我的面试过程。

字节devops岗面试

一面(40min):
1 代码实现二叉树翻转
2 LRU数据结构设计,如何优化,并发下如何处理(锁)
3 go协程与线程区别
4 MySQL存储引擎
5 求Count的时候,InnoDB和MyISAM哪个快
6 项目相关问题

二面(90min):
1 代码实现LRU
2 代码实现HashMap
3 设计模式
4 拓扑排序
5 项目相关

三面(50min)
1 代码实现求lower_bound,二分查找
2 各种项目相关

腾讯golang开发岗面试

一面(60+min):
1 服务注册、服务查询功能如何设计
2 如何保持高可用(多点)
3 主从如何一致,脑裂如何处理
4 大文件存字符串,字符串最长10个字符,如何统计频次高的字符串
5 gin框架中的api和handler实现方式其实是key-value,如何存储,量大怎么办
6 数组[4,5,1,2,6],target=9,找到满足sum>=target的最小子数组长度(子数组是连续的,子序列可以不连续)
7 MySQL为什么需要undoLog,redoLog和binLog?
8 项目相关问题

二面(40min )(二面的题目忘记记下来了,根据回忆大致是这些方面):
1 项目相关
2 各种面向实际场景的高并发高可用设计
3 SQL语句求出两个表中符合条件的数据(用到having,group by)

滴滴golang开发岗面试

一面(40min):
1 InnoDB默认隔离级别
2 可重复读如何处理库存问题
3 快车业务场景如何分库分表,用户维度
4 秒杀系统如何设计
5 令牌桶?其数据结构是什么?
6 Redis集群架构
7 Redis与Memcache区别
8 代码实现求二叉树深度
9 猴子围坐一圈,从1开始遇到编号3就让其退出,最后剩哪只猴子
10 项目相关

面试准备资料

1 极客时间课程《数据结构与算法之美》,整个课程学习下来帮助很大,特别是对于数据结构有了更深的理解,面试的时候遇到一些需要设计数据结构和优化的题目就能得心应手了。
2 labuladong的算法小抄,在leetcode刷题阶段帮助整理了动态规划等类型题目的模板,清晰易懂。
3 面试题的基本总结回顾,这是一个涵盖网络,数据库,操作系统等多方面的总结文章,在面试准备过程中可以反复查看巩固。
4 b站上的一些视频,覃超,马士兵
5 其他微信公众号资料,或者github资料,如程序员内功修炼、CS-Notes、JavaGuide面试突击版
6 牛客网上的面经

心得

1 大厂面试会看重基础知识和挖掘你的知识边界,因为大厂都是团队作战,需要大家互相合作,扬长避短,所以不求你面面俱到,只要把自己的正常水平发挥出来就可以了。
2 小吐槽,遇到视频面试只有我的摄像头开着,面试官关着的,一般面试体验都很差,然后就pass了。当然本身业务线的go开发岗更看重实际场景的高并发高可用问题,这种业务实践本身也是我欠缺的。
3 面试准备过程,我的心情起起伏伏,总是伴有焦虑不安。这种时候就需要做到最基础的事情,好好吃饭,好好休息。
4 啦啦啦,最后祝大家都能收获心仪的offer。

你可能感兴趣的:(复盘)