Algorithm-一周至少一道算法题
Review-阅读并点评至少一篇英文技术文章
Tip-学习至少一个技术技巧,总结和归纳在日常工作中所遇到的知识点
Share-分享一篇有观点和思考的技术文章
Photo by Alexis Brown on Unsplash
01-Algorthm
———————
https://leetcode.com/problems/construct-string-from-binary-tree/
思路:题目要求是使用树构造字符串,如果有子节点,就使用一对括号包起来,比如"(1)",需要注意的是,只要有一个节点存在,左子节点就必须被遍历,即使它为空,如果空就是一对括号。(这道题有点奇怪,考察的是中序遍历,不知道为什么硬要加一个左子树遍历的判断,我怀疑这里是不是在开发者在业务遇到这个奇葩的需求才有了这道题)
核心就是中序遍历的思路。
02-Review
——————
Data Structures & Algorithms I Actually Used Working at Tech Companies
https://blog.pragmaticengineer.com/data-structures-and-algorithms-i-actually-used-day-to-day/
从homebrew作者的一条推特引申的故事,介绍工作中用到的数据结构和算法:树、图、BFS、排序、哈希表、栈、队列、DFS、决策树等等,但是作者也强调了自己面试的时候不会这么去问面试者,因为在实践的过程中,作者也是遇到具体的问题才去研究某种数据结构或算法是否能用。
作者不建议的是通过这种手撕红黑树的方式去考察一个面试者,但这些只是还是要学习,作者建议的是学会这些常见的数据结构和算法,把它们当作是自己的工具集,等到要用或者遇到难题的时候就可以快速拿出来。
03-Tip
——————
1、如果发现Java项目中某些依赖无法加载时,可以查看依赖树来判断依赖是否有冲突, 以及是否有其他包将某个依赖去掉了。具体命令
`./gradlew app:dependencies`
app是Java项目名称
2、Spring-boot默认是扫描当前目录的实体,如果在某个Java工程里面包含了多个子项目,需要依赖另一个子项目的类时,需要加ComponentScan注解让框架扫描其他包。
04-Share
—————
分享一篇有效提高技能的文章-如何有效提高技能?推荐《刻意练习》
见第二篇推送。
原创文章,文笔有限,才疏学浅,文中若有不正之处,万望告知。
如果本文对你有帮助,麻烦顺手点个赞吧,谢谢