技术阅读周刊第二期
技术阅读周刊,每周更新。
历史更新
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 中主要使用到的插件。
作者是由于 Vim 作者的离世才决定花时间研究下 Vim,以下是他常用的一些插件:
Plugin: kristijanhusak/vim-packager
从名字可以看出这是一个包管理插件。
Plugin: junegunn/fzf.vim
模糊搜索插件。
Plugin: yegappan/lsp
这个插件功能强大:
- 自动补全
- 变量声明跳转
- 重命名变量
其实就是我们常见 IDE 一些基本功能
Plugin: dense-analysis/ale
错误提示插件,可以高亮并修复错误。
Plugin: 907th/vim-auto-save
自动保存插件,作者从 IDE 切换到 Vim 后不能自动保存,这个插件可以弥补这个缺失。
Plugin: jiangmiao/auto-pairs
自动添加、删除成对的括号,引号等符号。
Plugin: airblade/vim-gitgutter
用于显示 git 面板的插件,比较提交记录、对比等。
Plugin: bluz71/vim-mistfly-statusline
用于显示一些状态,比如 vim 模式、git 等。
可以发现大部分的插件功能 IDE 都是自带的,而作者之所以选择 Vim 也是因为他更加的轻量,相对于 Jetbrains
家的 IDE 来说。
Building your brand: How I reached 10k subscribers in 6 months
作者讲述了他用了半年时间做的 newsletter 个人品牌获得了 1w个订阅的经历:
1. 做这个过程中收获了两个好处,如果你想掌握某样技能,那教会别人是最快的,也就是做分享
2. 可以和有许多不同观点的人交流,获得不同的收获
3. 和许多人保持了连接,获得赞助、面试机会
4. 公开学习:公开分享你学到的和你直到的东西。
5. 长期坚持合适你的方法去学习沉淀一件事情
How companies Ship code to Production🌟🌟🌟
企业如何代码交付到生产环境:
1. 产品负责人创建需求
2. 和研发人员讨论需求
3. 开发需求
4. 构建打包,需要通过单元测试、覆盖率、Sonar 扫描等流程
5. 构建成功后发布到开发环境
6. 可能会有多个团队在开发不同的分支,所以需要将代码部署到 QA1、QA2
7. 测试团队会到一个单独的测试环境执行回归测试和性能测试
8. 测试通过后会部署到 UAT 环境
9. UAT 测试通过后,将会按照发布计划发布到生产环境
10. SRE 团队负责对生产环境进行运维和监控
在国内这算是一个中大型团队的交付流程了,需要小型团队可能并不会有单测、代码扫描、多个测试环境、SRE 等流程。
Understanding Database Types🌟🌟🌟
介绍了目前流行的数据库类型:
- 关系型数据库
- MySQL
- Oracle
- SQL Server
- PG
- 时序数据库
- InfluxDB
- TimeScale DB
- Graphite
- Prometheus
- NoSQL 数据库
- MongoDB
- Cassandra
- Redis
- Couchbase
是一篇科普文章,但因为是一个付费订阅的 Newsletter 我也就没有看过,对这些数据库类型的整理还是比较完善的。
文章链接:
- https://medium.com/@lahotipranali/google-software-engineer-interview-experience-offer-25e4eb6a0a5c
- https://medium.com/@devsjc/from-jetbrains-to-vim-a-modern-vim-configuration-and-plugin-set-d58472a7d53d
- https://careercutler.substack.com/p/building-your-brand-how-i-reached
- https://blog.bytebytego.com/p/ep81-how-companies-ship-code-to-production?utm_source=post-email-title&publication_id=817132&post_id=137944253&utm_campaign=email-post-title&isFreemail=true&r=4buvd&utm_medium=email
- https://blog.bytebytego.com/p/understanding-database-types
#Newletters