写点什么

一个只会写 Bug 的 Coder 年终总结

用户头像
z小赵
关注
发布于: 2021 年 02 月 09 日
一个只会写Bug的Coder年终总结

​目录

  1. 一个小总结

  2. 辞旧

  3. 迎新

一个小总结

2020 年即将收官,完成了自己的几个小目标;第一:年底前确定了自己心仪的 offer(文末会告诉大家我去了哪儿);第二:公众号粉丝量完成了破千,虽然非常少,但是和志同道合的朋友做了一些有意义的事情我很满足,同时也和一批粉丝朋友在技术上互相探讨受益良多,第三:买了自己心心念念了很久的小摩的,再也不用担心电动车把我丢在路上的尴尬处境了,附上一张我的坐骑靓照,有木有很帅?有喜欢跑山的摩友一起玩耍呀 😏



在收获了小成就的同时也留下了一些遗憾;第一:没有按照计划完成公众号内容(可能太多时间沉浸在摩的跑山的快感中了 😝),接下来新的一年里,一定严格要求自己不会断更这么久了,同时也努力多分享一些更有意义的东西和大家一起进步;第二:没有读完计划内的 Book;第三:体重依旧有些拉胯,只能在来年争当一个合格的干饭人;最后也给自己立了一些别的 flag,希望别太快倒下。


辞旧

2020 年年初我萌生了离职的想法,为什么会有这样的想法?答案有如下几种:


  • 公司业务发展受限

  • 公司给的钱不到位

  • 个人发展空间受限


是的,三个因素我都占到了,但这些因素并没有促使我立马选择一家新公司加入。

到了 2020 年 7 月份左右,随着公司发展战略和组织架构的不断调整,身边同事一个个都选择了离开,因为和他们私下关系相处的挺不错,一起吃饭聊天才意识到自己已经习惯了当下的工作节奏,不愿意跳出舒适圈才选择继续待下去。

跳槽前的几个思考

经过和前同事们的深入交流沟通,离职的想法也越来越强烈,我明白一个道理,虽然大家选择了离职,但是每个人真实离职的因素和实际情况各不相同。

冷静思考自己当下的真实处境和一些个人因素,我觉得自己还没有到最佳的离职时机,因为以我现在的能力和我想要的薪资待遇不能构成一个对等的状态,其主要因素有以下几点:


  1. 我加入现在公司的时间还不足两年,这个时候选择换一家新公司没有办法达到自己的理想薪资待遇。

  2. 试水了两家小公司,发现自己的技术栈存在很大的漏洞,每项技术都懂一些,但不够体系化,也没有达到一定的深度,比如:工作中常用的远程服务调用框架 Motan、消息处理队列 MCQ,但是仅停留在 API 层次,并没有深入研究过其背后的原理和实现,这也直接导致面试效果不理想。

  3. 不知道该选择哪个行业,选择一个规模大一些的公司还是选择一个小公司。

  4. 匆匆刷题背答案,虽然短时间应付面试混一混或许可行,但是对长久职业发展是否有实质性的帮助呢?(这个问题留给大家思考)

  5. 选择这个时间点离职对第一个 6 年计划产生的影响自己是否能 hold 住(6 年计划:一个不想当架构师的程序员一定不是一个好程序员 😆)

  6. 选择继续留在北京发展还是回到二线城市发展,但是西安的互联网环境和待遇说实话确实差些意思 🤦‍?

Choice A New Chance

我想要的是更好的待遇和更宽的职业发展道路,但我也纠结过想早日结束异地的痛苦,这里感谢女朋友的鼓励与支持,也非常感谢她的指点,让我对自己未来的发展更加清晰,为了以后更好的发展和生活,我决定留下来在北京寻找一个更大格局和体量的公司。

北京头部互联公司有哪些,排名不分前后。BAT 三巨头(百度外界虽然不看好,但我个人觉得不能一棒子打死,毕竟有些部门还是很厉害的,没有打广告的意思,不信你可以自己深入了解下);当下发展迅猛的字节跳动、快手;二线大厂美团、滴滴、网易等;一些行业独角兽贝壳找房、boss 直聘等;一些不错的外企微软、IBM 等。

复习计划制定

确定了从以上这些公司中挑选一个不错的机会,接下来就是制定一个详细的复习规划了,以下是我个人的技术栈,复习采用的方式是 撸源码手撸代码 验证结论(因为网上很多答案都是错的或者是片面的,所以自己撸代码验证下才是更靠谱的),仅供参考:


  1. Java 基础篇:

  • 集合 1.7 和 1.8 实现差异原理

  • 线程状态转移,线程池实现原理

  • 并发包,例如 AtomicXXX 实现原理

  • 锁,Synchronized,AQS 实现原理,ReentrantLock 锁等


  1. 数据库篇:

  • 关系型数据库 MySQL,索引实现原理,页分裂,MVCC 机制,事务隔离级别等

  • 非关系型数据库 Redis,常用数据结构底层实现原理,缓存常见问题如缓存一致性问题,大 key 问题,热 key 问题,缓存雪崩,缓存穿透等

  • 数据库设计问题,如分库分表,主从同步,集群架构,数据迁移等


  1. 中间件篇:

  • 分布式 RPC 调用,如 Dubbo,gRPC 底层服务发布调用原理,负载均衡,容错机制等

  • 消息队列 MQ,如 RocketMQ,Kafka 实现原理

  • 中间件最好挑选一些经典的框架研究下其底层源码实现,如 Dubbo 易扩展的 SPI 机制,Kafka 高吞吐的实现


  1. 框架篇:

  • Spring bean 声明周期,循坏依赖问题及解决方案,动态代理失效问题,源码分析等

  • Mybatis 缓存,$ 和 # 区别,源码等

  • SpringBoot 脚手架


  1. 开放型问题:

  • 设计一个抢红包系统,主要从思路方面考察,没有标准答案

  • 数据库平滑迁移方案等


  1. 算法:

  • 字符串、数组、列表操作、二叉树遍历、动态规划等常规操作,LeetCode 中等难度题目

面试注意点

  1. 基础扎实,一定要有深度。大厂面试最好不要只背表面答案,一定要有自己的理解(如果有相关的项目经验最好),加上知识点背后的和核心原理,不然面试官随便问问就会被问住。

  2. 心态。首先面试一定要保持一颗平常心,不要特别执着某家公司,这样只会徒增自己的压力;其次大厂的面试官普遍还是很有水平的,完全不用紧张;最后面试是一个互相选择的过程,相信自己是可以的正常聊天即可,不会就说不会,没有谁是什么都会的。


迎新

在即将到来的新一年里,首先祝朋友们在新的一年里写代码永远没 bug;其次,祝大家在新一年里事业顺利,家庭和睦;最后,如果有朋友也和我一样有跳槽的想法但还有些纠结的点,或者需要内推的,都非常欢迎和我交流。

聊聊职业发展

首先介绍下作为在职场混迹近 5 年“老司机”的我。普通本科毕业,2016 年有幸加入中国平安壹钱包,有了人生中第一份宝贵的实习经历;2016 年下半年机缘巧合下加入搜狐畅游完成了第二份实习工作,本以为要圆了自己做游戏的美梦,然而实际工作是游戏充值、运营平台的研发;2017 年加入广州三七互娱正式负责游戏服务端的研发工作,是的,终于圆了做游戏的梦想;2018 年下半年加入了 xx 微博,负责微博用户关系基础研发,这一次算是正式接触到海量大数据、高并发场景下面临的挑战,同时也体验了应对各种突然热点事件快速扩缩容的场景。2020 年年底选择加入快手,去体验更大平台带来的复杂业务挑战。

经历了这些公司得出了一些算是自己的小感悟。如果你是一个还没毕业的萌新学弟或学妹,那请你一定要仔细想清楚自己的第一个五年规划,这五年关乎到你以后能接触到哪些优秀的同事和你共事,同时也关乎到你视野到底有多大;如果你是一个初入职场的“小菜鸡”,有一小段工作经历,请你仔细想想自己是否真的对技术有特别浓烈的爱好,这直接决定了你以后在技术这条路上的高度和宽度,如果你真的不喜欢技术,也许当一个好的 PM 是一个更好的选择,或者朝管理岗位发展也是很不错的,当然如果你家里有矿,出来工作只是体验生活,当个笑话看看;如果你已经是一个职场老油条,相信你已经有了属于自己的规划。

我对自己的职业规划如下(仅供参考),技术线为主,管理线辅助,同时培养自己的产品思考方式,通过自己的技术手段为自己的生活提供一些便利。

Book Recommend

  • 技术人的“铁饭碗”



  • 软技能



  • 产品思维的养成



  • 学习如何做管理



啰啰嗦嗦就这么多,然后,祝朋友们在新的一年里牛年大吉,牛气冲天牛牛牛,最后撸起袖子就是干,加油打工人!!!


欢迎加我微信来一场灵魂的探讨


发布于: 2021 年 02 月 09 日阅读数: 112
用户头像

z小赵

关注

高并发系统、大数据技术栈、研究框架源码 2018.09.17 加入

擅长高并发系统设计,熟悉大数据生态圈及框架的使用,喜欢研究优秀框架设计原理和源码学习

评论 (2 条评论)

发布
用户头像
特意评论一波,马上5年,在西安真的难受一批
2021 年 02 月 22 日 14:34
回复
如果情况允许,可以在出来看看
2021 年 02 月 23 日 12:26
回复
没有更多了
一个只会写Bug的Coder年终总结