结局:总结+分享
看完美团、字节、腾讯这三家的一二三面试问题,是不是感觉问的特别多,可能咱们真的又得开启面试造火箭、工作拧螺丝的模式去准备下一次的面试了。
开篇有提及我可是足足背下了Java互联网工程师面试1000题,多少还是有点用的呢,换汤不换药,不管面试官怎么问你,抓住本质即可!能读到此处的都是真爱
- Java互联网工程师面试1000题
而且从上面三家来看,算法与数据结构是必备不可少的呀,因此我建议大家可以去刷刷这本左程云大佬著作的 《程序员代码面试指南 IT名企算法与数据结构题目最优解》,里面近200道真实出现过的经典代码面试题。
- 程序员代码面试指南–IT名企算法与数据结构题目最优解
- 其余像设计模式,建议可以看看下面这4份PDF(已经整理)
- 更多的Java面试学习笔记如下,关于面试这一块,我额外细分出Java基础-中级-高级开发的面试+解析,以及调优笔记等等等。。。
以上所提及的全部Java面试学习的PDF及笔记,如若皆是你所需要的,那么都可发送给你!
4.3 easycode 插件
https://plugins.jetbrains.com/plugin/10954-easy-code
EasyCode是基于IntelliJ IDEA Ultimate版开发的一个代码生成插件,主要通过自定义模板(基于velocity)来生成各种你想要的代码。通常用于生成Entity、Dao、Service、Controller。
功能说明:
• 支持多表同时操作
• 支持同时生成多个模板
• 支持自定义模板
• 支持自定义类型映射(支持正则)
• 支持自定义扩展属性
• 支持对表属性进行手动配置
• 所有配置项目支持分组模式,在不同项目(或选择不同数据库时),只需要切换对应的分组,所有配置统一变化。
4.4 alibaba code guidelines 插件
https://plugins.jetbrains.com/plugin/10046-alibaba-java-coding-guidelines
经过247天的持续研发,阿里巴巴于10月14日在杭州云栖大会上,正式发布众所期待的《阿里巴巴Java开发规约》扫描插件!该插件由阿里巴巴P3C项目组研发。P3C是世界知名的反潜机,专门对付水下潜水艇,寓意是扫描出所有潜在的代码隐患。这个项目组是阿里巴巴开发爱好者自发组织形成的虚拟项目组,把《阿里巴巴Java开发规约》强制条目转化成自动化插件,并实现部分的自动编程。
阿里技术公众号于今年的2月9日首次公布《阿里巴巴Java开发规约》,瞬间引起全民代码规范的热潮,上月底又发布了PDF的终极版,大家踊跃留言,期待配套的静态扫描工具开放出来。
为了让开发者更加方便、快速将规范推动并实行起来,阿里巴巴基于手册内容,研发了一套自动化的IDE检测插件(IDEA、Eclipse)。该插件在扫描代码后,将不符合规约的代码按Blocker/Critical/Major三个等级显示在下方,甚至在IDEA上,我们还基于Inspection机制提供了实时检测功能,编写代码的同时也能快速发现问题所在。对于历史代码,部分规则实现了批量一键修复的功能,如此爽心悦目的功能是不是很值得拥有?提升代码质量,提高团队研发效能,插件将会一路同行。
4.5 plantuml integration 插件
https://plugins.jetbrains.com/plugin/7017-plantuml-integration
使用plantUML画流程图
Unified Modeling Language (UML)又称统一建模语言或标准建模语言,用来描述 类(对象的)、对象、关联、职责、行为、接口、用例、包、顺序、协作,以及状态。是帮助自己理清众多类之间复杂关系的不二利器,也能帮助别人快速理解你的设计思路。
@startuml
Alice -> Bob: Authentication Request
Bob --> Alice: Authentication Response
Alice -> Bob: Another authentication Request
Alice <-- Bob: another authentication Response
@enduml
右边会实时现实流程图
4.6 findbugs 插件
https://plugins.jetbrains.com/plugin/3847-findbugs-idea
开发人员在开发了一部分代码后,可以使用FindBugs进行代码缺陷的检查。提高代码的质量,同时也可以减少测试人员给你报的bug数。
根据缺陷的性质,大致可以分为下列几类
-
Bad practice 不好的做法
-
Correctness 可能有不正确
-
Dodgy code 糟糕的代码
-
Experimental 实验
-
Internationalization 国际化
-
Malicious code vulnerility 恶意的代码漏洞
-
Multithreaded correctness 多线程问题
-
Performance 性能问题
FindBugs官方网站上也给出了一些案例:
http://findbugs.sourceforge.net/bugDescriptions.html
4.7 free mybatis 插件
https://plugins.jetbrains.com/plugin/8321-free-mybatis-plugin
实现功能,点击dao层方法直接跳转到对应xml
4.8 restful tool kit 插件
https://plugins.jetbrains.com/plugin/10292-restfultoolkit
一套 RESTful 服务开发辅助工具集。
-
根据 URL 直接跳转到对应的方法定义 ( or Ctrl Alt N );
-
提供了一个 Services tree 的显示窗口;
-
一个简单的 http 请求工具;
-
在请求方法上添加了有用功能: 复制生成 URL;,复制方法参数…
-
其他功能: java 类上添加 Convert to JSON 功能,格式化 json 数据 ( Windows: Ctrl + Enter; Mac: Command + Enter )。
4.9 sonarlint 插件
https://plugins.jetbrains.com/plugin/7973-sonarlint
Sonar是一个用于代码质量管理的开源平台,用于管理源代码的质量 通过插件形式,可以支持包括java,C#,C/C++,PL/SQL,Cobol,JavaScrip,Groovy等等二十几种编程语言的代码质量管理与检测
Sonar可以从以下七个维度检测代码质量,而作为开发人员至少需要处理前5种代码质量问题
-
不遵循代码标准 sonar可以通过PMD,CheckStyle,Findbugs等等代码规则检测工具规范代码编写
-
潜在的缺陷 sonar可以通过PMD,CheckStyle,Findbugs等等代码规则检测工具检测出潜在的缺陷
-
糟糕的复杂度分布 文件、类、方法等,如果复杂度过高将难以改变,这会使得开发人员难以理解它们 且如果没有自动化的单元测试,对于程序中的任何组件的改变都将可能导致需要全面的回归测试
-
重复 显然程序中包含大量复制粘贴的代码是质量低下的,sonar可以展示源码中重复严重的地方
-
注释不足或者过多 没有注释将使代码可读性变差,特别是当不可避免地出现人员变动时,程序的可读性将大幅下降 而过多的注释又会使得开发人员将精力过多地花费在阅读注释上,亦违背初衷
-
缺乏单元测试 sonar可以很方便地统计并展示单元测试覆盖率
-
糟糕的设计 通过sonar可以找出循环,展示包与包、类与类之间相互依赖关系,可以检测自定义的架构规则 通过sonar可以管理第三方的jar包,可以利用LCOM4检测单个任务规则的应用情况, 检测耦合。
4.10 jsonFormat 插件
https://plugins.jetbrains.com/plugin/7806-jsonformat
最后
转存中…(img-fw28RJmi-1715610896957)]