入职一个月我和腾讯T4大佬都学到了什么 | 周末学习

本文已参与周末学习计划,点击链接查看详情:juejin.cn/post/696572…

起床之后发现我昨天整理的拿offer那篇真的火了,而且还上了首页推荐

WX20210530-094653.png

搞得我这篇压力有点大呀,可千万不能水了!

入职一个月我和腾讯T4大佬都学到了什么呢?

首先抛出我的感受:

这个跳槽是完全正确的!虽然很累且充满挑战。

非常担心这篇水了,还是坚持撸起来吧。

进步最大的还是设计思想和编程习惯的改变。

我和大佬都认为编程语言本身不难,不管什么语言,对一个已经入门的程序员,可能学习2个月左右,就能熟练掌握语言的使用了。编程语言是工具,是武器,是实现方式;而程序员自己的思想和经验才是真正的劳动力,是内功,是价值所在。

src=http___img.mp.sohu.com_q_mini,c_zoom,w_640_upload_20170814_32511a4e03ca49a59d848283f6cf2c29_th.jpg&refer=http___img.mp.sohu.jpeg

真正区分程序员好坏的不只是对编程语言(工具)的熟悉程度,更多的是设计思想、和业务的契合程度、可扩展性、是否真的考虑到了问题所在。

同样的一个首页列表展示,在不同的流量数量级是需要有不同的解决策略的,DB和Cache怎么配合使用、如何约定翻页规则、前后端如何做缓存、缓存更新机制是什么、等等,不一而足。

担心这篇文章会水的一个原因是,我不打算去写具体的代码,又想给大家呈现出我想表达的意思。我担心自己还没有这个写作能力,硬着头皮上吧~

src=http___img.mp.itc.cn_upload_20170709_14a02bb307d34eee977140c2d77b8783_th.jpg&refer=http___img.mp.itc.jpeg

下面简单说几个改变编程思想的场景:

  1. 定义好数据结构体:我们的业务有接口数据,也有需要给客户端直接推送的数据。首先定义好了结构体,并且结构体中有2类字段,一类是userid、timestamp等固定字段;一类是extra字段,所有可扩展的字段都根据业务场景添加到extra中。

  2. 量力而行:新需求有弹幕的功能,我马上想到的是我之前有使用PHP的swoole框架搭建websocket,实现过web端的弹幕功能,但是这个提议马上被领导否定了。原因是:少量用户可以自己实现,但是当流量起来后服务很难保证稳定性。万一出了问题,是灾难级的。最终我们选择了腾讯云成熟的IM解决方案。

  3. 找到问题关键:我之前的习惯是拿到需求之后,每个页面过一遍需求,想想解决办法。我的思路基本上是根据需求文档或者产品原型来的。想写流水账文章一样写代码。但是大佬的风格是,拿到需求之后,尽可能的抽象。把核心业务梳理出来,前期不会按照产品文档去写代码的。大佬会根据核心需求把业务服务层代码抽取出来,尽量解耦,然后再梳理产品原型,根据原型去写接口,调用或者复用他抽象好的业务服务层代码。

  4. 大胆尝试,不怕犯错:这个前提条件是开发过程中,一定要避免给生产环境带来影响。在开发过程中只有不断尝试,才能不断进步,如果一直使用自己熟悉的技术点,大概率是故步自封,难以进步的。不给自己设置天花板,也没有谁是权威的问题,大胆尝试。大佬给我的解决方案也不一定是最优的。我会在推进项目的过程中不断的优化业务逻辑,发现不合理的会主动和大佬及产品经理沟通。

同样欢迎大家阅读我开篇提到的火了的文章:复盘一下后端工程师是如何在一个晚上拿下腾讯T4大佬的
WX20210530-095855.png

希望这篇文章不水,欢迎大家留言评论,发表自己的见解~

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享