2022-社招跳槽-相关记录 (后端岗位)
持续更新,直到找到下家公司。。。
写这篇文章主要是想和大家交流,同时也避免自己踩坑,欢迎留言。欢迎私信和我交流讨论。
自我分析:
C++、网络、操作系统基本的东西还记得,没怎么忘记;其它理论方面准备的感觉不行。
算法:leetcode做了四百多题,过年会猛刷算法题,年后估计三月份才开始投简历,开始面试。
之前的情况:
19年毕业,土木相关的专业。2020年在家小公司写代码(C++后端),后来脑袋热起来了辞职写起了游戏,放到steam上没卖出几份、就没继续搞了。
2021年下半年继续在家更小的公司写后端(C++),进公司的时候就在打算22年初跳槽的事。
2021年定的计划:
目前这家公司早9晚6,不加班,所以准备跳槽的时间比较多。
现在在深圳,主要投后端,最好继续写C++。学了半吊子go,也可能会投些go的岗位。
加班多的部门不想去,人生于世,是要生活的,不是拿来加班的,人不是CPU。
之前的经验和感受:
一个无比正确的黄金法则:去不加班的地方。
外企既能培养人,又不加班,好地方。
一月
做准备,刷算法题。
过年可能会加大力度学学GO,之前在哪家公司后端基本是CPP,现在听说都在转GO了。
感觉后端转GO是趋势,越早摆脱CPP越好。
二月
2月4号回深圳,开始准备。
2月5号,看下了kitex,打算贡献点代码,写进简历。发现我go学的比我现象的烂一点。
打算上班后开始陆续投简历
2月10,大周末试试能不能对kitex做做修修补补的PR
2月13,周日:向kitex提交PR,不知道会不会被合。leetcode刷到了460多题,要多看之前的算法题,很多以前的题目都忘记了。
2月20,改简历。捋一捋面试时要扯的项目。
三月
2022-03-18
转变了些思路,go语法学起来要时间,打算放弃了,因为看了些面经,发现进公司写GO不需要会GO。
Kitex项目合了我的代码,面试时也能说明我写GO能跑起来,能看的懂GO的代码。还是多准备点C++的知识比较好。
三月还没开始投简历,打算多准备准备,可能4月份末才开始正式面试。
leetcode刷到了479道题,刷了很多之前已经做过的题目。
看了下redis中cluster的实现,准备花一个月的时间贡献几行代码,这样简历通过率就会高一些。准备好了面试,简历不过就尴尬了。
2022-03-24
leetcode:做了483题
四月
不知道算不算拖延,还没开始投简历,总想让自己准备好点再投简历,希望将来能进加班少的部门。
一直在看redis的代码。
2022-04-06
leetcode:还是483题,不过一直都有在刷题,只是都是做之前的高频题目。
redis学习:看了相关的代码,提了一个PR,好让面试有得聊,但还没被合。
2022-04-10
leetcode基本上每天都有做,但算法题还是有很多基础的题不会做,努力多刷算法,少看八股文。
redis学习:上次提的代码被合了。要准备在面试时怎么介绍这次PR。
总结了之前的学习情况,总体感觉还可以。不太着急找工作了,心态要放平和,慢慢找,找个不加班的地方。
manmanjieshoulezijibeishuailedeshishi
六月
六月份总结:
leetcode写了510多道,常见的基础题目,基本上都能写出来。
项目相关的总结不够,目前最大的问题是不能很好称述自己这几段工作时间较短、比较拉跨的经历。
面试的重点经常是这一年的空窗期在干嘛?为什么这几段经历都非常短?
06-13:小公司,远程视频面试,双人
- 自我介绍,两次给开源项目PR的简单介绍。【介绍的不好,需要补充这方面,没提前准备】
- 使用了预分配的方式申请内存,哪预分配的大小怎么确定?
- 面试官:一致性hash这个PR实际上没做实际性的更改。【自己感觉也是这样】
- 数据库join两张超级大表怎么办?
- 如果分批join都会爆内存怎么办? 除了写脚本还有什么方式?【懵了,不知道】
- C++ : 构造、析构函数能否抛出异常,构造、析构函数能否是虚函数。
- 生产者、消费者模型。消息队列,多写,多读的场景。怎么处理具体的业务逻辑。
- 自学过哪些课程、哪些数据结构和算法
- 跳跃表的实现、跳跃表的优缺点。
- 自己实现过哪些树?
- 图算法有了解过吗?
- 一致性算法是指什么?描述下raft算法。
- 怎么遍历多叉树,口述。我大概的画了张图。
- 手写算法,最长连续数字串,难度不大,属于LeetCode简单题目(小公司没在线判题系统,vscode本地写的,没编译运行)
- 操作系统学过吗?【学过。。。】
- HTAP数据库?【新的词汇又增加了。。。。这词我没听过。。】
6-14:上家公司的在线笔试。
- 笔试是通用题目,不涉及开发知识。题目像初中政治题混杂了数理逻辑后得到的。
6-15:几十人的小公司,远程视频,做交易系统,类似火币网。双人面试官
- 自我介绍、介绍之前的工作经历。为什么从富途离职?觉得富途和我们公司有哪些不同?
- 介绍在公司做的项目:消息网关。http用的什么库?测试过这个http库的性能吗?连kafka用的什么库?网关qps是多少?性能瓶颈是什么?连kafka的模块有什么瓶颈?
- 消息下推到kafka怎么保证消息不丢失?【这块我和面试官的沟通有问题,我当时没懂面试官在说什么,后来才知道是要问怎么保证到kafka的消息顺利落盘】
- 系统瓶颈点在哪? 【编解码】
- 那个模块是你自己负责的?你干了啥?
- 怎么水平扩展?负载均衡组件是什么?负载均衡组件是自研的吗?
- 有什么想要问我的吗?【我想,这也太快了,八成是凉了。另一位开始问我想做什么方向,想去哪些城市】
总结:自己过往经历不能很好的称述,尤其是kafka怎么保证数据不丢失的问题没搞懂。我想我没能理解面试官的问题就足够说明这块我没搞懂了。需要补一下kafka的基础知识。梳理消息网关的实现细节。
6-22:小公司,电话面试。又一个嫌弃我之前工作 经历短的。
- 自我介绍,之前工作经历为什么这么短?
- 主要做那块?在公司做的trace系统介绍下
- 系统设计题目:【这里块聊了20分钟】微服务整体设计:公司用的啥框架,为什么用这个?网关怎么做、链接保活、序列化的选型、从零把服务搞到k8s上怎么搞?docker怎么打包?容器里包含哪些内容?、熔断、链路追踪、限流、降级、服务治理、CI/CD等等,你们公司这块用的什么开源组件?项目搞成微服务后怎么分模块,有哪些模块?日志系统要怎么搞?
- 系统的难点?系统的技术难点:高并发处理、分布式事务处理?缓存?
- raft算法解决了什么问题?
- gossip协议的具体应用场景?gossip协议和raft算法的区别?
- raft算法在高可用方面的场景?
- C++相关:虚函数的实现?虚继承解决了什么问题?
- 模板函数可以是虚函数吗?【不会】【当时没想到,查了下才想到因虚函数的动态调用,模板展开的时候会不知道展开那个基类的】
- 反问
6-27:【视频面试】小公司,做的方向不一样,感觉投错了。一个面试官,中年男性,语速快。
- 你投的岗位和我们部门干的活不一样。。。我们部门是做三维可视化的。
- 三维软件用过吗?用过UNITY的那些功能?
- 向量有什么用?向量可以实现那些功能?向量点乘和向量內积有什么区别?unity里哪里有用到向量?【不懂,一问三不知】
- 自我介绍,负责的trace系统介绍
- trace系统里面分哪里模块?你负责哪些模块?你现实了哪些功能?
- HTTP是怎么实现的?自己实现的还是掉第三方?GET和POST的区别,长连接和短连接的区别,项目里面是长链接还是短链接?
- 主要做那块?在公司做的trace系统介绍,trace系统的接口介绍。
- 服务端编程的一般步骤,客户端编程的一般步骤。
- 用了哪些异步库?同步和异步的区别?项目中有哪些地方用到异步?
- 多线程了解吗?举一个你项目中多线程的场景。多线程要注意哪些点?
- 没有反问。。戛然而止。。。。
2022-06-27
leetcode刷了516道,投了几家完全不知名的小公司,想熟悉熟悉面试感觉。面试感觉还可以,但面试一轮后总没后续,有点沮丧。。。
6-28:【视频面试】小公司。俩个面试官,中年男性+女性HR。又一家嫌弃我之前工作经历短的。。。
- 你为什么总跳槽?这次为什么想跳槽?上次为什么想跳槽?
- 为什么上家公司不干了跑去写游戏?游戏上架了吗?游戏销量怎么样?为什么不去写游戏?喜欢什么公司?喜欢什么行业?
- 常规问题:线程和进程区别?四种类型转换?C++11用的多吗?你写C多还是写C++多?智能指针介绍下?
- shared_ptr、weak_ptr、unique_ptr的区别?【unique_ptr倒忘记的差不多了,没怎么接触】
- unique_ptr的初始化是移动语义还是拷贝语义?【没怎么懂。。。】
- unique_ptr允许拷贝构造吗?【不允许】
- C++的四种cast中,那些cast是发生在运行时?【这个没怎么思考过、网上也没查到答案,不过答的是dynamic_cast是发生在运行时】
- 同一进程下的线程共享哪些资源?
- 公司用什么管理代码?
- git的大致流程?产生冲突了怎么办git merge和git rebase的区别?
- 。。。。。HR分割线。。。。。。。。。
- 领导怎么样评价你?
- 你是个怎么样的人?形容一下你
- 了解我们公司吗?【不了解】
- 有哪些特长?
- 以后有什么打算?3-5年的规划是怎么样的?
六月份总结:
小公司好像很少写算法题,感觉面试了也没积累下什么面试经验,暴露出最大的问题是我在介绍自己的项目经历的时候介绍的不好。
leetcode刷了517道,开了个新进度,在重刷之前的高频题。
7月中下旬会投一些小的互联网公司。
07-04:【视频面试】小公司。唯一一个没有嫌弃我之前工作经历短了,而且没有问我一年空窗期在干嘛。
- 你有什么问题想问我的?【全程一直让我问问题】
- gdb用的多吗?linux命令
- 了解Hadoop吗?知道这是干什么的吗?想搞Hadoop吗?【不知道】
- influxdb知道不?【不懂】
- 宽表?列式存储和行式存储的区别?行式数据库你搞过吗?【没搞过】
- 每天几十TB的数据,进行分析,要怎么搞【不知道】
- 你在公司干嘛的?你都干了啥?你觉得我们公司怎么样?【好像觉得我啥都不懂。。。】
- 你公司写了啥?你写代码的水平怎么样?C++和C哪一个用的多?
- 线上出问题了,你会怎么去查?
- 信令编解码???ASN???
- 让我反问,不断的让我反问
扎心的一次面试
07-11:小公司,聊天。
- 没聊什么正经事情,感觉这人瞎扯的水平不太行。
- 聊完之后,突然知道健康码的行程数据是怎么来的了。。。。。
07-12:小公司,面试我鸽了
07-14:改改简历,经过之前的面试后发现简历里面还有挺多问题的。
另外一点就是不能写自己只懂一点点的东西。。。