JAVA面试大全之开发基础篇

本文详细介绍了Java开发基础,包括常用类库如Apache Common、Guava、Hutool和Spring工具类,以及JSON库FastJSON、Jackson、Gson等的使用和注意事项。同时,讲解了Lombok和MapStruct工具库的作用和原理。网络协议部分,讨论了TCP的三次握手和四次挥手,以及SYN洪泛攻击、DNS解析流程和DNS安全问题。开发安全方面,阐述了Web安全漏洞、注入攻击、CSRF和XSS的概念及防御方法。最后,介绍了单元测试的重要性,讲解了JUnit 5的架构及其与JUnit 4的区别。
摘要由CSDN通过智能技术生成

目录

1、常用类库

1.1、平时常用的开发工具库有哪些?

1.2、Java常用的JSON库有哪些?有啥注意点?

1.3、Lombok工具库用来解决什么问题?

1.4、为什么很多公司禁止使用lombok?

1.5、MapStruct工具库用来解决什么问题?

1.7、Lombok和MapStruct工具库的原理?

2、网络协议和工具

2.1、什么是754层网络模型?

2.2、TCP建立连接过程的三次握手?

2.3、SYN洪泛攻击(SYN Flood,半开放攻击),怎么解决?

2.4、TCP断开连接过程的四次挥手?

2.5、DNS 解析流程?

2.6、为什么DNS通常基于UDP?

2.7、什么是DNS劫持?

2.8、什么是DNS污染?

2.9、为什么要DNS流量监控?

2.10、输入URL 到页面加载过程?

2.11、如何使用netstat查看服务及监听端口?

2.12、如何使用TCPDump抓包?

2.13、如何使用Wireshark抓包分析?

3、开发安全

3.1、 开发中有哪些常见的Web安全漏洞?

3.2、什么是注入攻击?举例说明?

3.3、什么是CSRF?举例说明并给出开发中解决方案?

3.4、什么是XSS?举例说明?

3.5、一般的渗透测试流程?

 4、单元测试

4.1、谈谈你对单元测试的理解?

4.2、JUnit 5整体架构?

4.3、JUnit 5与Junit4的差别在哪里?

4.4、你在开发中使用什么框架来做单元测试?

5、代码质量

5.1、你们项目中是如何保证代码质量的?

5.2、你们项目中是如何做code review的?

6、代码重构

6.1、如何去除多余的if else?

6.2、如何去除不必要的!=判空?

7、 JAVA面试题总述


上一篇:JAVA面试大全之数据库篇-CSDN博客

致力于一个专栏将Java面试说的清清楚楚,从工作实践角度出发,尽量涵盖Java主流知识点,全面讲述Java面试题。

本篇讲述开发基础,总共涵盖6个知识点,33道热点面试题,共两万余字。

1、常用类库

1.1、平时常用的开发工具库有哪些?

  • Apache Common

    • Apache Commons是对JDK的拓展,包含了很多开源的工具,用于解决平时编程经常会遇到的问题,减少重复劳动。
  • Google Guava

    • Guava工程包含了若干被Google的 Java项目广泛依赖 的核心库,例如:集合 [collections] 、缓存 [caching] 、原生类型支持 [primitives support]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

hao_kkkkk

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值