feat: 浏览器渲染原理

This commit is contained in:
杭城小刘
2024-02-06 00:30:11 +08:00
parent a329691f8a
commit 0013537cfe
54 changed files with 916 additions and 41 deletions

View File

@@ -0,0 +1,38 @@
## 晋升答辩的逻辑是什么?
<img src="./../assets/upgrageReviewMeeting.png" style="zoom:30%; align:left;">
> 来源是脉脉 App 的一张图,这里做简单的扯淡。这个老前端的具体背景是什么不清楚,评委还问了什么也不清楚。
## 面试官的提法有些尖锐
面试官的提法有些尖锐、不合理。但可能(😂为什么是可能?可能有些面试官就是在扯犊子)是在考核:极限施压,看你抗压和思维能力,另外想问你真的是否理解自己的价值,对自身有没有认证思考过
主要晋升名额少,上去的除了关系户,一定需要脑子清晰、业务和技术都很能打的人。同样的问题,回答好的人,在同一批里面,通过的概率更大。
假设您提法是对的,我觉得其项目会办法落地了的。什么意思呢?因为以您的逻辑来推导:
- idea 的提出者提出创意就好了,其他项目部门和同事没有任何价值
- 如果上面的没有价值成立那正常项目所需的头脑风暴、prd、mrd 需求评审会议、kick-off meeting开发、测试、发布、运维质量保证、线上数据运营分析再次迭代发布新版本等一系列流程。都没意义了
- 显然这些动作是有价值,那么之前的假设就应该被推倒,同样问题的前提就不合理,也就是您所说的「需求都是产品给的方案,价值跟你有什么关系?」这个提法就不存在了
然后我们从正面聊聊这个问题。
## 工程师的差异在什么地方?
首先优秀工程师和普通的工程师差异主要存在2个方面基础的技术知识、业务领域知识。那么优秀工程师的价值就体现在可以凭借扎实的业务领域知识更好的理解业务问题、业务现状、准确的理解好业务问题然后利用我自身的技术知识设计面向未来、架构合理、具备可拓展性、维护清晰简单的技术架构更好的赋能业务。
业务领域知识和技术如何结合?
举个例子,比如电商公司一个 App 有商品业务域、订单业务域名、营销业务域,商品业务域的核心功能是什么,展示不同的商品列表、商详信息。商品有多规格、无规格、多单位 等不同 SKU 信息,商品业务域和上下游链路的交互动作是什么,也就是商品业务域对外提供什么能力、接口。
低阶工程师只是会写代码,翻译需求成“只是能跑的业务代码”。那这个代码的拓展性、可测性、维护性、性能怎么样?线上问题多不多、用了一个可能会死锁的锁、会内存泄漏的代码,虽然简单的操作下 QA 没有发现问题但是线上用户的使用环境千变万化可能卡顿、crash、业务异常造成资损故障… 。
这里的陈述有些不那么聚焦这么说吧业务方面业务领域知识扎实和不扎实的体现在QA 在有限时间内的测试 case 并不能穷举所有代码分支路径,也就是每个 case 并不能走完,只能证明他给的测试用例走完了,那 QA 给的测试用例走完就可以保证所有的用户不会产生异常吗?显然不会。
所以如果开发自身业务知识稳定,写的代码一来可以 cover 一些 QA 没有列举到的业务 case二来写的代码面向未来比如目前有 n 种订单类型1、2、3、4、5某次需求修改了类型2的字段 sku UI 样式,其中 sku 是基础属性会影响到其他订单类型如果没有测试好就会产生问题low 的写法就是多个 if… else… 加测试了,好的实现就是工厂设计模式 + 单测了,测试覆盖率所保证,或者精准测试覆盖率)
## 换个前端来做有何不同?
第二个问题换个前端来做有何不同同样从2个方面出发技术知识 + 业务知识)业务领域知识、业务 sense、更好的理解业务问题和梳理咱们公司业务未来可能的走向看看业界其他公司的产品形态都是什么样的比如淘宝就在做竞品分析的时候实验室机房高速摄像机去录像逐帧分析 App启动时长。可能有些人会问为什么不从技术手段分析启动时长这是个技术问题自身 App 可以去分析,但是对于竞品分析来说,不精确,所以为了统一分析标准,采用该方案),未来可能存在的业务 case 是什么,我会分析现状、疏离问题、主动去挖掘问题,拼接技术功底,挖掘技术问题、性能体验问题,不断去优化和体验,持续打造领先竞品的产品。抛开数据空谈理想类似耍流氓,我也会埋点统计线上性能数据,不断去量化定量分析问题,可能存在 n个 问题,我会根据业务现状和体验问题的严重性,衡量 ROI、PK 问题优先级,着重解决用户和业务中最痛、最有价值的事情,这也是优秀工程师和普通工程师的区别,不只是任务的执行者、需求的翻译者,而是业务的 owner、做有价值事情的挖掘者。
## 优秀工程师其他的软技能
1. 同时也会挑战一些不合理的业务需求。对于产品设计师的不合理需求勇于说不
2. 展示自己的可以体现软实力的东西。比如在某个项目中承担了一些 PM 的角色,然后某个项目有危险,通过自己什么样的有效动作(协调上下游资源、攻坚不属于自己的技术问题、私下个人时间推广跟进落地取得额外的价值等),做了几次技术分享等
核心逻辑:
1. 需要不丢面试官面子,合乎礼仪(以他的问题思路作为前提,来推导一些结论,再和大家认可的事实作为矛盾冲突,巧妙反驳他)
2. 凸显自己的价值,从技术 + 业务知识2个方面展开回答
千言万语:晋升的本质就是做了一些超越你当前职级能力边界的事情,并在业务上有价值

View File

@@ -0,0 +1,32 @@
## 短视频刷多了会变笨吗?怎么样提升我们的表达和思辨能力
早上刷朋友圈看到一则动态,大概讲的是他平时会尽量不让小朋友去刷短视频。虽然未婚未育,但还是想扯几句。
自媒体时代、信息大爆炸。当文字表达所期望的受众面越广易读、上口、受众面广、易流传其用语和举例都会追求更简单、更直白比如“绝绝子”、“666”、“这也太那个了吧”等网络用语。回想下小学时代我们正在学习语文学习语法、成语那什么是“绝绝子” vocal 还可以这么表达吗?那学习的最初都是重复和模仿,小朋友会按照“形容词+形容词+子”的形式发挥了,会不会说遇到美丽的会不会说美美子、遇到害怕的说怕怕子,那要成语干啥,表述最佳的信达雅效果,如何实现。
所以刷短视频这个事情,对于学习期的小朋友来说弊大于利。不是说没有好的方面(什么开拓视野、什么劳逸结合),有,但还是弊大于利。这样的语言环境对于求学阶段的孩子来说非常不友好。
信息大爆炸时代,一个是信息流变多了,对于接收者的甄别能力提出更高要求;另外就是大数据推荐更精确,基于你的用户行为数据(视频停留时长、点赞、收藏、评论、转发等活跃行为)会推导出你偏好,接下去推荐的都是绝绝子、这也太那个了吧 😂
所以处于学习阶段的孩子,在打好自身基础、培养好甄别能力前,还是不能随意刷短视频。信息有别于知识,因为有局限性和对错,小朋友明显不具备很强的甄别能力
引出另一个问题:短视频刷多了会变笨吗?怎么样提升我们的表达和思辨能力
问题就不做回答了小朋友刷短视频、有甄别能力的大人、带有娱乐消遣目的的大人等不同人刷短视频这个问题的答案都会不一样。因此没必要大而全的回答这个问题。ROI 太低
1. 代词太多,影响表述的精准性。在上下文信息拉齐前,尽量避免使用代词。当然口语环境下,上下文信息拉齐的时候,用代词没有任何问题。
在做技术方案、技术分享的时候,你在跟别人阐述你的思路的时候,当语境、上下文信息没有拉齐前,你可能会不消息使用一些代词,比如:这种堆栈抓取方案使得 crash 发生时堆栈 dump 耗时减少50%,可能场景严肃,没有人立马制止,问你“这种抓取方案是什么方案呀,这个方式是什么,能不能先聊清楚、交代清楚。再做代词”
把你想表达的表达的清清楚楚,用最精准的词告诉别人、告诉倾听者。如果你找不到这个词的话,那么就是**你的语言没有跟上你的思维**,这是非常危险的,说明你没有语言作为载体去深入地形成自己的理解和自己的思想。
为什么短视频会让我们变笨,不会表达呢?因为整个平台、整个话语空间的词库都太同质化、太扁平、太局限了,看似每天接触很多内容,但实际都是一些很重复的流行语料库,它大大压缩了我们日常的词汇量,而这些语料库越模糊,大家的理解成本越低,得到的关注就会越多。 比如遇到美食,大多数短视频的描述就是,这个食物实在是“太那个了吧” or “这谁顶得住啊”。或者一些旅行的视频,文案千篇一律就是“一辈子总得去哪里哪里吧”(可能这个词第一次出来的时候作者就是这么想的,因为工作、生活节奏告诉运转,努力打破循环,去哪里玩了一趟,但后来就背离初衷了吧,大家跟风文案都是如此)。很少是在精准描绘一种食物的味道或者对一隅风景的感受。那在这样的语言浸泡下,我们看似摄入了很多信息,但我们会渐渐失语,当我们吃了好吃的食物,平时刷到的网络用语潜意识里就迸出来了。网络用语变成唯一的表意媒介,可能会说“天啦,这是我吃过最好吃的食物了”、“天啦,难顶”、“天啦,这也太那个了吧” 。但那个到底是哪个呀?无数个这种有太多想象空间的场景出来,我们就会渐渐的失去信达雅的表述能力,同时也可能偏离表述者真正要表达的意图
语言的匮乏会让我们变笨是因为语言是构成思维的“官能”语言的边界就是世界的边界。语言塑造思维这个观点其实是哲学里的常常被讨论的一组二元命题。从维特根斯坦他开始认为我们认识世界和思维的能力在很大程度上受限于我们的语言能力。有本反乌托邦小说乔治奥威尔的《1984》里 “newspeak” 这个概念是去探讨语言对思想的控制,就是小说里的权力机构通过限制和简化语言,限制了人们的思考和表达的自由。以及波兹曼《娱乐至死》提到过的“当媒体重视娱乐性而非深度思想的时候,公众的认知能力和批判思维就会收到影响“。
网络空间(爬虫、数据发布;自媒体炒作热点、借鉴文体和表述)实在是太多同质化和重复的信息了,这些日渐模糊的表述和代词,企图减少理解成本的用于,实际上是在重塑和简化我们的思维
2. 多读一些严肃的书籍、作品。或者多听一些非批量生产的“洞见”。多摄入有深度的信息。因为知识的载体不一定是书籍,可能是大佬的博客、动态、有深度的微博等。
3. 尽量去精准化自己的用词。少用代词、尽量信达雅。
最简单的练习抓手:比如去四季酒店餐厅点菜,不要说“我要这个、我要那个”,我要“西湖醋鱼,地道的西湖醋鱼,可以体现水平的烧法是选用草鱼,而非简单的笋壳鱼,咱们店里是什么鱼呀?哦,草鱼啊,太好了,那就上一道西湖醋鱼吧”。少用代词,尝试更多更准确的词去描述需求、去描述感受。核心就是为自己模糊的想法找到一个精准的词去描述出来。