技术阅读周刊第二期

image.png

技术阅读周刊,每周更新。

历史更新

Google Software Engineer Interview Experience — Offer🌟🌟🌟

谷歌软件工程师的面试经验。

作者背景:2020 年毕业于 MIT Pune(印度城市),将近 3年的开发经验
在这次拿到 Google offer 之前参与过3~4 次 Google 面试,上一次是2019 年。
因为有之前的面试经验,所以直接跳过了电话面试,直接准备现场面试。

作者花了三周时间做准备。

1st Leetcode Medium Coding(45min)

主题:

  • 深度优先查询
  • 广度优先查询
  • 哈希表相关。
    与面试官交流作者的方法,最终顺利过了第一轮。

2nd Leetcode Medium Coding(45min)

主题:

  • 滑动窗口
  • 哈希表
  • 字符串
    作者刚开始用了一个暴力解法,经过思考后得出一个最优解。
    其他的问题都得出了正确的时间复杂度。

3rd Leetcode Hard Coding(45min)

主题:

  • 广度优先查询
  • 堆排序(优先级队列)
  • 矩阵
  • 数组
    这轮面试比较有难度,在面试官的提醒下完成了。

4th 谷歌味面试,领导轮

这一轮就是一些行为面试,讨论了一些过去的经历,和假设的一些情况。
作者使用了 STAR(Situation, Task, Action, Result) 进行了回答,整个过程比较顺利。

评论区:

  • 希望可以分享下自己准备的资料
  • 没有系统设计题吗?

看来国际一线大厂对算法的考察占比也是非常高的,但作者可能也有一些考虑没有放出面试的具体题目。

From JetBrains to Vim: A modern Vim configuration and plugin set | by devsjc | Sep, 2023 | Medium🌟🌟🌟🌟

作者从 JetBrains 切换到 Vim,在 Vim 中主要使用到的插件。
image.png
作者是由于 Vim 作者的离世才决定花时间研究下 Vim,以下是他常用的一些插件:

Plugin: kristijanhusak/vim-packager

image.png
从名字可以看出这是一个包管理插件。

Plugin: junegunn/fzf.vim

image.png
模糊搜索插件。

Plugin: yegappan/lsp

image.png

这个插件功能强大:

  • 自动补全
  • 变量声明跳转
  • 重命名变量

    其实就是我们常见 IDE 一些基本功能

Plugin: dense-analysis/ale

image.png
错误提示插件,可以高亮并修复错误。

Plugin: 907th/vim-auto-save

自动保存插件,作者从 IDE 切换到 Vim 后不能自动保存,这个插件可以弥补这个缺失。

Plugin: jiangmiao/auto-pairs

自动添加、删除成对的括号,引号等符号。

Plugin: airblade/vim-gitgutter

用于显示 git 面板的插件,比较提交记录、对比等。

Plugin: bluz71/vim-mistfly-statusline

image.png
用于显示一些状态,比如 vim 模式、git 等。

可以发现大部分的插件功能 IDE 都是自带的,而作者之所以选择 Vim 也是因为他更加的轻量,相对于 Jetbrains 家的 IDE 来说。

Building your brand: How I reached 10k subscribers in 6 months

作者讲述了他用了半年时间做的 newsletter 个人品牌获得了 1w个订阅的经历:

image.png

1. 做这个过程中收获了两个好处,如果你想掌握某样技能,那教会别人是最快的,也就是做分享

2. 可以和有许多不同观点的人交流,获得不同的收获

3. 和许多人保持了连接,获得赞助、面试机会

4. 公开学习:公开分享你学到的和你直到的东西。

5. 长期坚持合适你的方法去学习沉淀一件事情

How companies Ship code to Production🌟🌟🌟

image.png

企业如何代码交付到生产环境:

1. 产品负责人创建需求

2. 和研发人员讨论需求

3. 开发需求

4. 构建打包,需要通过单元测试、覆盖率、Sonar 扫描等流程

5. 构建成功后发布到开发环境

6. 可能会有多个团队在开发不同的分支,所以需要将代码部署到 QA1、QA2

7. 测试团队会到一个单独的测试环境执行回归测试和性能测试

8. 测试通过后会部署到 UAT 环境

9. UAT 测试通过后,将会按照发布计划发布到生产环境

10. SRE 团队负责对生产环境进行运维和监控

在国内这算是一个中大型团队的交付流程了,需要小型团队可能并不会有单测、代码扫描、多个测试环境、SRE 等流程。

Understanding Database Types🌟🌟🌟

介绍了目前流行的数据库类型:
image.png

  • 关系型数据库
    • MySQL
    • Oracle
    • SQL Server
    • PG
  • 时序数据库
    • InfluxDB
    • TimeScale DB
    • Graphite
    • Prometheus
  • NoSQL 数据库
    • MongoDB
    • Cassandra
    • Redis
    • Couchbase
      image.png

是一篇科普文章,但因为是一个付费订阅的 Newsletter 我也就没有看过,对这些数据库类型的整理还是比较完善的。

文章链接:

#Newletters