JavaWeb程序员面试笔试宝典

JavaWeb程序员面试笔试宝典

我想读
手机扫码
  • 微信扫一扫

    关注微信公众号

因版权原因待上架

编辑推荐

JavaWeb程序员面试常见问题解答,涵盖JavaWeb基础、框架、数据库、安全等,配有真题。

内容简介

本书专门为JavaWeb程序员面试而编写,主要是对一些面试中常见的技术问题做出解答。

本书所涉及的知识面较广,内容涵盖了JavaWeb基础、Web服务器、常用MVC框架、Spring框架体系及SpringBoot和SpringCloud、传统的关系型数据库、NoSQL与缓存框架、常用消息队列、电商及互联网必备知识、互联网安全与分布式系统知识、Alibaba开源生态体系、设计模式、软件开发人员常用Linux命令等与JavaWeb编程相关的技术知识,另外还包括其他一些常用的框架组件或容器工具,如Docker、Elasticsearch、Nginx、Maven、ZooKeeper等。

Java知识体系庞大,本书不能面面俱到,但整体而言,本书涉及的知识点较为丰富,基本涵盖了JavaWeb编程的各个方面,且都来源于程序员的实际面试经历。相信本书能增加读者的知识积累,有了更多的积累,必定会在面试时多一份从容和自信,也更容易获得面试官的青睐,找到一份理想的工作。对于一些知识面缺少广度的Java软件工程师,本书还能起到扩展知识面、丰富知识体系的作用。

作者简介

章节目录

版权信息

前言

第1章 Web编程

1.1 Java Web基础

真题1 HTTP请求的GET与POST方式有什么区别?

真题2 什么是Servlet?

真题3 如何理解Servlet的生命周期?

真题4 HTML和Servlet有什么区别?

真题5 Servlet API的forward与redirect有什么区别?

真题6 什么情况下调用doGet( )和doPost( )?

真题7 Request对象有哪些主要方法?

真题8 JSP的四种作用域是什么?

真题9 Request.getAttribute( )和Request.getParameter( )有何区别?

真题10 JSP有哪些内置对象?

真题11 JSP和Servlet有哪些相同点和不同点,它们之间有什么联系?

真题12 JSP有哪些基本动作?

真题13 JSP的常用指令有哪些?

真题14 JSP中动态Include与静态Include有何区别?

真题15 JSP的两种跳转方式分别是什么?有什么区别?

真题16 如何实现Servlet的单线程模式?

真题17 JSP如何实现Servlet的单线程模式?

真题18 什么是JSTL?它有哪些优点?

真题19 JSP页面是如何被执行的?JSP执行效率比Servlet高还是低?

真题20 JSP如何处理运行时异常?

真题21 如何防止表单重复提交?

1.2 Java Web前端

真题1 常用的Java展现层技术有哪些?

真题2 目前使用较多的Web前端框架有哪些?

真题3 前后端分离架构有什么优点?

真题4 Java模板引擎与Web前端框架有什么区别?

真题5 什么是静态文件生成的最佳时机?

1.3 AJAX与JavaScript

真题1 什么是AJAX?

真题2 AJAX应用和传统Web应用有什么不同?

真题3 如何理解XmlHttpRequest对象?

真题4 XmlHttpRequest对象有哪些常用方法和属性?

真题5 AJAX的实现流程是怎样的?

真题6 AJAX请求有几种Callback函数?

真题7 XmlHttpRequest对象在IE和Firefox中创建方式有没有不同?

真题8 AJAX有哪些优点和缺点?为什么使用它?

真题9 什么是JavaScript的同源策略?

真题10 如何解决AJAX跨域问题?

真题11 AJAX请求如何处理浏览器缓存问题?

真题12 为什么使用异步加载JS文件?异步加载方式有哪些?

真题13 外部JS文件出现中文字符,会出现什么问题,如何解决?

真题14 JSON和JSONP有什么区别?

真题15 JSONP是实现跨域访问的AJAX技术吗?

真题16 eval( ) 函数是做什么的?

真题17 AJAX技术体系的组成部分有哪些?

真题18 AJAX和JavaScript有什么区别?

真题19 AJAX请求用GET和POST方式的区别是什么?

真题20 什么是XML?

真题21 XML有哪些常用解析方式?

真题22 同步操作和异步操作有什么区别?

真题23 readyState属性有什么用处?它分别有哪几个状态值?

真题24 如何区分获取的数据是AJAX的返回值还是JSONP的数据?

真题25 在JS中有哪些会被隐式转换为false?

真题26 jQuery的AJAX是如何实现的?有什么不足之处?

真题27 jQuery中的ID选择器和class选择器有什么区别?

真题28 jQuery库中的$( )是什么?

真题29 $( document).ready( ) 函数的作用是什么?

真题30 Window.onload事件和$( document).ready( )函数有什么区别?

真题31 使用CDN加载jQuery库有什么优势?

真题32 $( this) 和this关键字在jQuery中有何不同?

真题33 如何使用jQuery来提取一个HTML标记的属性?

真题34 如何使用jQuery设置一个属性值?

真题35 如何利用jQuery来向一个元素中添加和移除CSS类?

真题36 当CDN上的jQuery文件不可用时,该如何处理?

真题37 JavaScript编码和解码URL的方法是什么?

真题38 jQuery中有哪些方法可以遍历节点?

真题39 jQuery有哪些优点?

真题40 JavaScript如何创建通用对象?

真题41 如何在JavaScript中将base字符串转换为整数?

真题42 null和undefined的区别?

真题43 正则表达式构造函数var reg=newRegExp ("xxx") 与正则表达字面量var reg=//有什么不同?

真题44 什么是三元运算?“三元”表示什么意思?

真题45 Window对象有哪几种弹出对话框的方式?

1.4 HTML5与Web编程综合

真题1 HTTP的通信机制是什么?HTTP2.0有何优点?

真题2 什么是WebSocket?

真题3 WebSocket与Socket有什么区别?

真题4 如何实现浏览器内多个标签页之间的通信?

真题5 常用的前端优化策略有哪些?

真题6 DOCTYPE的作用是什么?严格模式与混杂模式各有什么区别?

真题7 什么是SGML? HTML5为什么只需要写?

真题8 页面导入样式时,使用link和@import有什么区别?

真题9 HTML5有哪些新特性?移除了哪些元素?

真题10 什么是HTML?如何区分HTML4.01和HTML5?

真题11 如何处理HTML5新标签的浏览器兼容问题?

真题12 浏览器是如何对HTML5的离线储存资源进行管理和加载的?

真题13 Cookie、sessionStorage和localStorage有什么区别?

真题14 每个HTML文件的开头有个DOCTYPE标签,这个起什么作用?

真题15 iframe有什么优缺点?

真题16 如何关闭输入框的自动完成功能?

真题17 Cookie与Session有什么区别?

真题18 网站自动登录功能的实现原理是什么?

真题19 为什么用多个域名来存储网站资源会更有效?

真题20 HTTP以1~5开头的状态码意义是什么?常见状态码有哪些?

真题21 如何获取浏览器与操作系统等信息?

真题22 什么是MVVM模式?与MVC模式有什么区别?

真题23 减少页面加载时间的方法有哪些?

1.5 Web服务器

真题1 Tomcat的缺省HTTP端口是多少,如何修改?

真题2 Tomcat有几种部署Web项目的方式?

真题3 关于Tomcat的一些优化技巧。

真题4 如何给Tomcat内存调优?

真题5 如何设置Tomcat管理员用户名密码?

真题6 Tomcat部署项目实现Session共享有哪几种方式?

真题7 工作中用什么工具查看或监视Tomcat的内存?

真题8 Tomcat类加载机制是怎样的?

真题9 Tomcat7/8 如何开启远程调试模式 ( JPDA)?

真题10 Eclipse与idea中如何远程调试Tomcat?

真题11 在Java领域常用的HTTP及Web服务器有哪些?

真题12 如何使Tomcat创建的Cookie的secure属性和httpOnly属性为true?

第2章 Spring技术生态体系

2.1 Spring基础

真题1 什么是Spring?有什么优点?

真题2 Spring的两大核心是什么?设计原则是什么?

真题3 如何理解Spring IoC?

真题4 什么是依赖注入?Spring依赖注入有哪三种方式?

真题5 什么是AOP?有什么优点?Spring AOP的动态代理实现方式有哪些?

真题6 AOP有哪些基本名词术语?

真题7 代理的优点有哪些?代理有哪些实现方式?两者有何不同?

真题8 AOP有哪些实现方式?Spring AOP和AspectJ AOP有什么区别?

真题9 Spring支持哪些事务管理方式?实现原理是什么?

真题10 Spring事务传播机制有哪些?

真题11 BeanFactory和ApplicationContext都有什么作用?两者有什么联系与区别?

真题12 Spring中Bean有哪几种作用域?

真题13 Spring框架中的Bean是线程安全的吗?

真题14 Spring如何处理线程并发问题?

真题15 什么是面向接口编程?有哪些优点?

真题16 Spring框架的事务隔离级别有哪些?

真题17 Spring框架中有哪些不同类型的事件?

真题18 Spring通知有哪些类型?

真题19 Spring加载ApplicationContext的XML配置文件的几种方式是什么?

真题20 Spring常用注解有哪些?

真题21 Spring为容器配置元数据有哪几种方式?

真题22 Spring Bean生命周期中有哪些重要方法?可以覆盖吗?

真题23 Spring的Inner Bean是什么?

真题24 谈谈Spring中InitializingBean、DisposableBean这两个接口的作用。

真题25 为什么@Transactional只能用于public方法?

真题26 事务注解@Transactional有哪些属性?

真题27 @Transactional如何配置回滚或不回滚异常?

真题28 什么是Spring Bean?

真题29 DAO模块的作用是什么?

真题30 使用Spring访问Hibernate有哪些方法?

真题31 什么是注解配置?如何开启注解装配?

真题32@Qualifier注解的作用是什么?

真题33 Spring自动装配有哪些方式?

真题34 Spring自动装配有什么局限性?

真题35 Spring注解@Resource和@Authwired有什么区别?

真题36 什么叫循环依赖?Spring如何检测初始化的循环依赖?Spring如何解决循环依赖?

真题37 什么是Spring的Java配置?有什么优点?请简述其用法。

真题38 如何理解Spring Bean的生命周期?

真题39 Spring框架用到了哪些设计模式?

真题40 Spring生态 (不含以Spring Boot与Spring Cloud为基础的) 中主要有哪些项目?

2.2 Spring Data

真题1 什么是Spring Data?

真题2 Spring Data有哪些子项目?

真题3 Spring Data JPA与JPA的区别?

2.3 Spring Boot

真题1 什么是Spring Boot?

真题2 Spring Boot有哪些优点?

真题3 注解@SpringBootApplication有什么作用?

真题4 如何重新加载Spring Boot上的更改,而无须重新启动服务器?

真题5 如何处理错误"Full authentication is required to access this resource"?

真题6 如何在Spring Boot中禁用Actuator端点安全性?

真题7 如何在自定义端口上运行Spring Boot应用程序?

真题8 什么是Yaml? .yml和.properties配置文件在内容格式和加载顺序上有何区别?

真题9 如何实现Spring Boot应用程序的安全性?

真题10 如何集成Spring Boot和ActiveMQ?

真题11 如何使用Spring Boot实现JPA分页和排序?

真题12 Spring Boot所需要的最低Java版本是什么?

真题13 Spring Profiles的作用是什么?

真题14 如何使用Spring Boot实现全局异常处理?

真题15 什么是Spring Boot Starter?

真题16 如何监视所有Spring Boot服务?

真题17 Spring Boot提供了哪些Starter?

真题18 Spring Boot Starter的工作原理是什么?它的实现原理是什么?

真题19 如何开发一个自定义的Spring Boot Starter?

真题20 创建一个Spring Boot Project的最简单的方法是什么?

真题21 创建Spring Boot Project有哪些方式?

真题22 为什么需要spring-boot-maven-plugin?

真题23 在Spring Boot项目中如何访问静态资源文件?如何配置自定义资源文件目录?

真题24 当Spring Boot应用程序作为Java应用程序运行时,后台会发生什么?

真题25 如何在spring-boot-starter-web中用Jetty代替Tomcat?

真题26 如何通过配置参数实现特定环境的配置?

真题27 发布自定义参数配置的最好方式是什么?

真题28 被称为Spring Boot开发的四大神器都是什么?

真题29 如何禁用某个自动配置类?

真题30 在Spring Boot中如何使用其他嵌入式Web服务器?

真题31 如何在Spring Boot应用程序中禁用默认Web服务器?

真题32 在Spring Boot中有哪些条件注解?

真题33 项目中已添加Spring Boot Actuator依赖,如何在不去掉依赖的情况下关闭它?

真题34 Spring Boot Actuator的一些常用功能与属性介绍。

真题35 ApplicationRunner和CommandLineRunnerr的作用与区别是什么?

真题36 Spring Boot自动配置原理是什么?

真题37 什么是Spring Boot Batch?

真题38 Spring Boot加密组件jasypt如何使用?

真题39 Spring Boot项目的启动流程是怎样的?

2.4 Spring Cloud与微服务架构

真题1 什么是微服务?什么是微服务架构?

真题2 微服务架构的优缺点分别是什么?

真题3 微服务技术栈有哪些?

真题4 Rest和RPC各有什么优缺点?

真题5 什么是Spring Cloud?使用Spring Cloud有什么优势?

真题6 Spring Cloud和Dubbo有什么区别?

真题7 Spring Boot和Spring Cloud有什么区别与联系?

真题8 微服务之间是如何独立通信的?

真题9 Ribbon和OpenFeign、RestTemplate的关系与区别?

真题10 什么是Eureka?服务注册与发现原理是什么?

真题11 什么是Eureka自我保护机制?

真题12 Eureka和ZooKeeper、Consul的区别是什么?

真题13 什么是服务雪崩?雪崩的原因有哪些?Spring Cloud应对雪崩的策略是什么?

真题14 如何理解服务熔断与服务降级?

真题15 Feign实现熔断或降级功能,都要做些什么?

真题16 Spring Cloud微服务在通常情况下,如何通过Hystrix实现服务熔断与降级?

真题17 注解@EnableDiscoveryClient与@EnableEurekaClient有何区别?

真题18 Spring Cloud微服务的启动流程是怎样的?

真题19 Spring Cloud微服务架构中哪些是必备组件?

真题20 什么是Spring Cloud Bus?与Spring Cloud Stream有何关系?

真题21 注解@SpringCloudApplication有什么作用?

真题22 核心配置文件bootstrap与application的区别有哪些?

真题23 谈谈对Spring Cloud Config的理解。

真题24 Spring Cloud Config如何实现自动刷新?

真题25 Spring Cloud Config配置加密有哪两种方式?如何实现?

真题26 Hystrix的两种隔离策略有什么区别?

第3章 MVC框架

3.1 综合

真题1 什么是MVC模式?

真题2 MVC的各个部分可用哪些技术来实现?

真题3 SpringMVC和Struts2、Struts1三个MVC框架有什么不同?

真题4 SpringMVC的核心入口类是什么,Struts1、Struts2的核心入口类分别是什么?

真题5 什么是Struts1框架?

真题6 什么是Struts2框架?

3.2 SpringMVC

真题1 SpringMVC的执行请求流程是怎样的?

真题2 什么是SpringMVC?

真题3 Spring MVC框架有什么优点?

真题4 SpringMVC的控制器是不是单例模式?会有什么问题?如何解决?

真题5 标注SpringMVC中的控制器的注解是哪些?有何不同?

真题6 SpringMVC常用注解有哪些?

真题7@RequestMapping注解用在类上面有什么作用?

真题8 如何把某个请求映射到特定的方法上面?

真题9 如果只想接收GET方式请求,如何配置?

真题10 如何处理可以让某个方法请求的参数中始终包含特定字符串如"my=dev"?

真题11 如何在请求方法中得到从前台传入的参数?

真题12 如果请求传入的很多参数都是一个对象的,如何接收这些参数最好?

真题13 SpringMVC是如何进行重定向和转发的?

真题14 如何在方法中直接得到Request或Session?

真题15 SpringMVC是如何处理返回值的?

真题16 注解@RequestBody与@ResponseBody有什么不同?

真题17 SpringMVC中把视图和数据组合到一起的组件是什么?

真题18 SpringMVC中ModelMap的作用是什么?ModelMap、Model与ModelAndView的区别是什么?

真题19 如何将ModelMap中的数据放入Session中?

真题20 SpringMVC如何与AJAX交互?

真题21 当一个方法向AJAX返回特殊对象,如Object、List等,需要做什么处理?

真题22 SpringMVC中拦截器该如何编写?

真题23 SpringMVC如何解决中文乱码问题?

真题24 SpringMVC的异常处理有哪些方式?

真题25 RequestMapping和GetMapping的不同之处在哪里?

第4章 ORM框架与JDBC

4.1 JDBC相关

真题1 什么是JDBC,在什么时候使用它?

真题2 用JDBC如何调用存储过程?

真题3 JDBC中的PreparedStatement相比Statement的优点是什么?

真题4 Class.forName的作用是什么?为什么用到它?

真题5 JDBC编程有哪些步骤?

真题6 常用的JDBC组件有哪些?

真题7 JDBC中的Statement、PreparedStatement和CallableStatement有何区别?

真题8 execute、executeQuery和executeUpdate这三个方法有何区别?

真题9 PreparedStatement的缺点是什么?怎么解决这个问题?

真题10 JDBC是如何操作事务的?

真题11 JDBC的ResultSet有哪几种类型?

真题12 JDBC中的CLOB和BLOB数据类型分别代表什么?

真题13 java.util.Date和java.sql.Date有什么区别?

真题14 什么是RowSet?有哪些不同的RowSet?

真题15 JDBC的最佳实践有哪些?

真题16 在Java中如何创建一个JDBC数据库连接?

真题17 什么是JDBC的数据库连接字符串?

真题18 在Java开发中如何获取数据库的元信息?

真题19 PreparedStatement中如何传入为null值的参数?

真题20 Statement中的getGeneratedKeys方法有何作用?

真题21 Statement中的setFetchSize和setMaxRows方法有什么用处?

真题22 什么是JDBC的批处理?有什么好处?

4.2 Hibernate与JPA

真题1 什么是JPA?JPA和Hibernate的联系与区别是什么?

真题2 什么是ORM?

真题3 JPA由哪些技术组成?

真题4 Hibernate的延迟加载机制是什么?

真题5 Hibernate的LOAD和GET方法有何区别?

真题6 Hibernate有哪些核心接口?

真题7 Hibernate常用优化策略有哪些?

真题8 JPA的基本注解有哪些?关联类映射注解有哪些?

真题9 JPA的主键生成策略有哪些?

真题10 Hibernate有哪三种实体状态?三种状态是如何转换的?

真题11 什么是JPA的二级缓存?

真题12 什么是JPQL?

真题13 什么是HQL语言?

真题14 JPA有哪些映射关联关系?

真题15 JPA如何进行事务管理?

真题16 Spring框架如何整合JPA?

真题17 MyBatis与Hibernate有什么不同?

4.3 MyBatis

真题1 MyBatis如何获取自增长主键?

真题2 MyBatis映射文件中#{ }和${ }的区别是什么?

真题3 当实体类中的属性名和表中的字段名不一样,如何处理?

真题4 MyBatis框架的执行过程是怎样的?

真题5 MyBatis在使用XML映射文件而非注解时,对Mapper接口调用有哪些要求?

真题6 MyBatis如何分页?分页插件的实现原理是什么?

真题7 MyBatis是如何将执行结果封装为实体对象的?

真题8 MyBatis映射文件中模糊查询有哪几种写法?

真题9 在Mapper接口方法中如何才能传递多个参数?

真题10 MyBatis动态SQL有何作用?

真题11 MyBatis有哪些常用注解?

真题12 注解@Mapper有什么作用?

真题13 MyBatis的XML映射文件中,常用的有哪些标签?

真题14 MyBatis不同的XML映射文件中的ID是否可以重复?

真题15 MyBatis实现一对一查询有几种方式?

真题16 MyBatis实现一对多有几种方式?

真题17 MyBatis是否支持延迟加载?

真题18 什么是MyBatis的接口绑定?有哪些实现方式?

真题19 MyBatis的插件运行原理是什么?如何编写一个插件?

真题20 Mapper接口的工作原理是什么?Mapper接口中的方法能重载吗?

真题21 MyBatis全局基础配置XML文件中的配置有哪些内容?

真题22 如何理解MyBatis缓存?

真题23 Spring Boot中如何集成MyBatis?

4.4 Spring JDBC框架

真题1 JdbcTemplate如何调用存储过程?

真题2 JdbcTemplate如何与Spring集成?

真题3 Spring JDBC如何与Springboot集成?

真题4 Spring JDBC如何把ResultSet对象中的数据映射为Java对象?

真题5 Spring JDBC创建对象后自增主键如何获取?

真题6 JdbcTemplate批量更新如何实现?

真题7 JdbcTemplate主要提供哪几类方法?

4.5 综合

真题1 为什么要用ORM框架?和JDBC有何不同?

真题2 为什么要使用数据库连接池?

真题3 常用数据库连接池有哪些?性能如何?

第5章 消息队列

5.1 Kafka

真题1 Kafka高吞吐量的原因有哪些?

真题2 Kafka中的重要元素有哪些?

真题3 Kafka的使用场景有哪些?

真题4 消费者与消费者组有什么关系?消费者的负载均衡如何实现?

真题5 ZooKeeper在Kafka中的作用是什么?

真题6 在Kafka中Replica (副本)、Leader (领导者) 和Follower (追随者) 各有什么作用?

真题7 Kafka如何实现负载均衡与故障转移?

真题8 Kafka的ACK机制是怎样的?

真题9 Linux系统中如何启动Kafka服务器?如何用命令行创建和消费消息?

真题10 如何理解Kafka的日志保留期?Kafka的数据清理策略有哪些?

真题11 Kafka可接收的消息默认最大多少字节?

真题12 Kafka在消息为多大时吞吐量最好?用Kafka发送大消息除了修改参数还有什么方法?

真题13 如何理解Kafka的日志分段策略与刷新策略?

真题14 Kafka有什么不足之处?

真题15 Kafka提供的保证是什么?

真题16 数据传输的事务定义有哪三种?Kafka如何传输事务?

真题17 Kafka如何判断一个Broker是否有效?

真题18 Kafka消息是采用Pull模式,还是Push模式?

真题19 Kafka文件高效存储的设计原理是什么?

真题20 Kafka创建Topic时如何将分区放置到不同的Broker?

真题21 Kafka的Consumer如何消费数据?

真题22 Kafka生产数据时数据的分组策略是什么?

5.2 消息队列综合

真题1 Kafka与传统消息系统的区别是什么?

真题2 消息队列的应用场景有哪些?

真题3 消息队列有什么缺点?

真题4 什么是RabbitMQ?

真题5 RabbitMQ消息基于什么传输?它的Message最大可达多大?

真题6 什么是幂等性?RabbitMQ中如何保证消息幂等性?

真题7 如何保证RabbitMQ消息的顺序性?

真题8 RabbitMQ有何特点?

真题9 RabbitMQ消息持续积压几十万、几百万甚至更多,该如何解决?

真题10 在实际应用中,消息队列满了以后该如何处理?

真题11 什么是JMS?

真题12 什么是RocketMQ?有什么特点?

真题13 为什么使用RocketMQ?

真题14 什么是ActiveMQ?它有什么特点?

真题15 ActiveMQ持久化消息非常慢时如何处理?

真题16 ActiveMQ消息有不均匀消费时如何处理?

真题17 ActiveMQ数据丢失怎么办?ActiveMQ有哪些持久化机制?

真题18 自己如何设计一个消息队列?

第6章 常用NoSQL与缓存框架

6.1 Redis

真题1 什么是Redis?Redis主要有哪些功能?

真题2 Redis有哪些优点?有什么不足?

真题3 Redis与其他Key-value数据库有什么区别?

真题4 Redis支持哪些数据类型?

真题5 Memcached与Redis有何区别?Redis相比Memcached有哪些优点?

真题6 Redis集群方案有哪些?请谈谈对Redis Cluster (集群) 的理解。

真题7 Redis是如何实现持久化的?

真题8 Redis的应用场景有哪些?

真题9 Redis有哪些常见性能问题?如何解决?

真题10 Redis执行AOF持久化执行时调用了哪个函数?AOF文件的内容是什么?

真题11 Redis的Key过期的删除策略是什么?各有什么优缺点?

真题12 Redis使用的最大内存是多少?内存数据淘汰策略有哪些?

真题13 为什么Redis需要把所有数据放到内存中?

真题14 Redis的同步机制是怎样的?

真题15 Redis集群如何选择数据库?

真题16 如何理解Redis哨兵模式?

真题17 Redis集群方案什么情况下会导致整个集群不可用?

真题18 Redis支持的Java客户端都有哪些?官方推荐用哪个?

真题19 Redis如何设置密码及验证密码?

真题20 Redis的哈希槽 ( Hash Slot) 的用处是什么?

真题21 什么是Redis的主从复制?

真题22 如何测试与Redis是否连通?

真题23 如何理解Redis的事务?Redis事务相关的命令有哪几个?

真题24 Redis的Key的过期时间和永久有效设置命令是什么?如何查看过期时间?

真题25 Redis内存优化策略有哪些?

真题26 当Redis的内存用尽时会发生什么?

真题27 一个Redis实例中Key和Value的存储数量与大小限制是多少?

真题28 如何保证Redis中的数据都是热点数据?

真题29 Redis中存放有上亿的Key,如何找出其中所有以某个固定已知前缀开头的Key?

真题30 如果有大量的Key需要设置同一时间过期,一般需要注意什么?

真题31 如何使用Redis实现分布式锁?

真题32 Redis为什么会选择单线程模型?

真题33 为什么Redis是单线程模型效率还这么高?

6.2 MongoDB

真题1 MongoDB有哪些优缺点?

真题2 什么是MongoDB的BSON?

真题3 什么是mongod?常用参数有哪些?

真题4 什么是mongo?

真题5 MongoDB常用的CRUD操作方法有哪些?

真题6 MongoDB的基础命令有哪些?

真题7 MongoDB中分片的作用是什么?分片集群中锁对集群有何影响?

真题8 为了不影响性能,MongoDB批量插入分片集合时有哪些策略?

真题9 MongoDB中的命名空间是什么意思?

真题10 MongoDB在A: {B, C}上建立索引,查询A: {B, C}和A: {C,B}都会使用索引吗?

真题11 什么是复制?

真题12 在MongoDB中分析器 ( Profiler) 的作用是什么?如何使用?如何设置?

真题13 MongoDB支持主键、外键关系吗?

真题14 MongoDB支持哪些数据类型?

真题15 MongoDB的ObjectId有哪些部分组成?

真题16 什么是MongoDB的索引?如何创建查看索引?写操作如何影响索引?

真题17 什么是MongoDB的聚合操作?

真题18 什么是MongoDB副本集 ( Replica Set)?并发性如何影响主副本集?

真题19 MongoDB为何使用GridFS来存储文件?

真题20 为什么MongoDB的数据文件很大?

真题21 是否可以对MongoDB进行SQL或查询注入?如何解决?

6.3 Memcached

真题1 Ehcache、Memcached、Redis三大缓存有何特点与区别?

真题2 Memcached服务在企业集群架构中有哪些应用场景?

真题3 Memcached服务分布式集群如何实现?

真题4 Memcached的工作原理是什么?

真题5 Memcached最大的优势是什么?

真题6 Memcached和服务器的Local Cache相比,有什么优缺点?

真题7 Memcached的Cache机制是什么?单个item最大允许多大?

真题8 Memcached是如何做身份验证的?

真题9 Memcached对item的过期时间有什么限制?

真题10 Memcached可以在各个服务器上配置大小不等的缓存空间吗?

6.4 EhCache

真题1 Ehcache的使用场景是什么?

真题2 Ehcache的集群实现方式是什么?

真题3 如何实现Ehcache页面整体缓存?

真题4 Ehcache支持哪些数据淘汰策略?

6.5 NoSQL与缓存综合

真题1 什么是缓存预热?

真题2 如何进行缓存更新?

真题3 什么是缓存穿透?如何预防缓存穿透?

真题4 什么是缓存雪崩?如何预防缓存雪崩?

真题5 什么是缓存击穿?如何预防缓存击穿?

真题6 如何进行缓存降级?

真题7 如何缓存热点Key?

第7章 关系型数据库

7.1 关系型数据库知识

真题1 数据库三范式 ( Normal Forms,NF) 是什么?

真题2 什么是事务?事务的ACID特性是什么?

真题3 并发事务处理对数据库有哪些影响?如何避免?

真题4 什么是存储过程?什么是函数?两者有什么区别?

真题5 游标的作用是什么?如何知道游标已经到了最后?

真题6 触发器的事前和事后触发有何区别?语句级和行级触发有何区别?

真题7 什么是约束?约束的作用是什么?请说出几种数据库约束关系。

真题8 drop、delete和truncate的区别是什么?

真题9 什么是索引?为什么使用索引?

真题10 建立索引的原则是什么?什么情况下不宜建立索引?

真题11 什么是视图?视图的作用是什么?

真题12 内连接、外连接和交叉连接的区别是什么?

真题13 数据库锁的作用是什么?数据库中存在哪些不同类型的锁?

真题14 什么是分布式事务的两阶段提交?

真题15 DDL和DML的含义与区别是什么?

真题16 如何保证数据读写的原子性?

真题17 什么是SQL注入?产生的原因是什么?如何防止?

真题18 什么叫SQL?SQL语言的功能是什么?

真题19 SQL语言包括哪几部分?每部分都有哪些操作关键字?

真题20 请列举一些数据库优化经验。

7.2 SQL语法与实战

真题1 列出各个部门中工资高于本部门平均工资的员工信息和部门号,并按部门号排序。

真题2 分页SQL的写法 (题目:取出t users表中第31~40的记录,id为自增长主键)。

真题3 用一条SQL语句查询出每门课都大于80分的学生姓名。

真题4 假定有一个叫department的表,其中只有一个字段name,一共有4条纪录,分别是a、b、c、d,对应4个球队,现在4个球队进行比赛,用一条SQL语句显示所有可能的比赛组合。

真题5 从TestDB数据表中查询出所有月份的发生额都比101科目相应月份的发生额高的科目。表主要有三个字段:AccID-科目代码、Occmonth-发生额月份和DebitOccur-发生额。

真题6 union和union all有什么不同?

真题7 按要求统计每年每月的信息。

真题8 用一条SQL语句查询出文章标题、发帖人、最后回复时间。

真题9 删除除了id号不同,其他都相同的学生冗余信息。

真题10 一条SQL查询出小于45岁的各个老师所带的大于12岁的学生人数。

真题11 用一条SQL语句查询出发帖最多的人。

真题12 一个用户表中有一个积分字段,假如数据库中有1000多万个用户,如果需要将积分清零,如何用SQL来实现?

真题13 一个用户具有多个角色,请查询出该表中具有该用户所有角色的其他用户。

真题14 下面是一道综合题,要求写出多种条件下的查询SQL语句,这里仍以MySQL数据库为基础,其他数据库可参考实现。

真题15 写出Oracle Update多个Column的SQL写法。

真题16 请写出Oracle删除重复记录的SQL语句。

7.3 Oracle数据库

真题1 请问Oracle冷备份和热备份有何不同?各有什么优点?

真题2 给出两个检查表结构的方法。

真题3 如何在不影响子表的前提下,重建一个母表?

真题4 归档和非归档模式有何不同?

真题5 Oracle如何创建用户并授予DBA权限?

真题6 哪个字段可以用来区别v$视图和gv$视图?

真题7 Oracle执行计划是什么,如何使用执行计划?

真题8 如何查看Oracle数据库的时区?

真题9 什么是死锁?如何解决Oracle的死锁?

真题10 请介绍一些Oracle中经常使用的函数。

真题11 Oralce能够存储哪些大字段类型?

真题12 Oracle中函数存储过程和Package有什么区别?

真题13 什么是物化视图?Oracle的物化视图有什么作用?

真题14 如何查看数据库Session进程的相关信息?

真题15 Temporary Tablespace和Permanent Tablespace的区别是什么?

真题16 创建数据库时自动建立的Tablespace名称是什么?

真题17 创建用户时,需要授予什么权限才能连接数据库?

真题18 如何修改已存在数据文件的大小?

真题19 为什么要重建索引,如何重建索引?

真题20 什么是表分区?它有什么优点。

真题21 用于网络连接的是哪两个配置文件?

真题22 Oracle如何进行递归查询?

真题23 Oracle中dual的作用是什么。

7.4 MySQL数据库

真题1 MySQL存储引擎有哪些?有什么区别?

真题2 如何获取当前MySQL数据库版本?

真题3 char和varchar的区别是什么?

真题4 float和double的区别是什么?

真题5 MySQL慢查询日志的作用是什么?

真题6 在MySQL的查询语句中如何使用limit?

真题7 主键列设置为auto increment时,如果在表中达到最大值,会发生什么情况?

真题8 如何才能找出最后一次插入时分配了哪个自动增量?

真题9 MySQL中视图和表的区别及联系是什么?

真题10 MySQL默认支持事务吗?

真题11 MySQL中记录货币用什么字段类型比较合适?

真题12 MySQL如何创建及修改用户?如何给用户授权?如何取消权限?

真题13 MySQL有哪几种索引?

真题14 如何在MySQL中运行批处理模式?

真题15 MySQL数据表中timestamp类型字段如何设置相关属性?

真题16 MySQL中字段的enum类型如何使用?

真题17 与Oracle、SQL Server相比,MySQL有什么优势和劣势?

真题18 如何使用MySQL的explain?

真题19 profile有何作用?具体如何使用?

真题20 MySQL是如何实现主从复制的?

真题21 MySQL数据库的CPU占用突然加大该如何处理?

真题22 MySQL如何查看及修改时区?

真题23 如何解决MySQL数据库中文乱码问题?

7.5 国产数据库与其他数据库

真题1 常用的关系型数据库还有哪些?

真题2 什么是嵌入式数据库?有何优点?

真题3 常用的嵌入式数据库有哪些?

真题4 什么是内存数据库?

真题5 常用的关系型内存数据库有哪些?

第8章 Alibaba开源系列

8.1 Dubbo框架

真题1 什么是Dubbo?Dubbo是如何产生的?

真题2 Dubbo的应用场景是什么?

真题3 Dubbo与Spring Cloud有何区别?

真题4 Dubbo都支持哪些协议?

真题5 Dubbo包含哪些核心组件?

真题6 Dubbo的注册中心有哪些?默认是什么注册中心?

真题7 Dubbo核心的配置有哪些?

真题8 普通Spring项目如何与Dubbo整合?

真题9 Dubbo支持的序列化方式有哪些?

真题10 Dubbo启动时如果依赖的服务不可用会怎样?如何配置可以忽略依赖的服务?

真题11 Dubbo默认使用的是什么通信框架?

真题12 Dubbo的负载均衡策略有哪些?默认是哪种?

真题13 Dubbo如何设置超时时间?Dubbo在调用服务超时时如何处理?

真题14 Dubbo支持服务多协议吗?

真题15 当一个服务接口有多种实现时,如何保证正确调用所需要的实现?

真题16 服务如何配置才可以兼容旧版本?

真题17 Dubbo可以对结果进行缓存吗?

真题18 Dubbo支持分布式事务吗?

真题19 注册了多个同样的服务,如何测试指定的某一个服务呢?

真题20 Dubbo支持服务降级吗?

真题21 Dubbo的管理控制台能做什么?如何使用?

真题22 Dubbo用ZooKeeper做注册中心,如果注册中心集群都崩溃,服务提供者和消费者相互还能通信吗?

真题23 Dubbo协议和ZooKeeper默认的端口号分别是多少?

真题24 Dubbo Monitor的作用是什么?如何使用?

真题25 为什么需要服务治理?

8.2 Spring Cloud生态

真题1 Spring Cloud Alibaba的主要组件有哪些?

真题2 Nacos与Eureka、Spring Cloud Config有何区别?

真题3 Nacos默认的Namespace是什么?Namespace有什么作用?如何配置使用?

真题4 Nacos有哪些特性?

真题5 Nacos数据存储默认采用的是什么数据库?

真题6 Nacos支持哪些主流的开源生态?

真题7 使用Spring Cloud Nacos时如何进行基本配置?

真题8 Nacos支持配置属性的实时刷新吗?

真题9 Nacos支持哪几种部署模式?如何启动单机模式?

真题10 Nacos如何使用MySQL进行存储?

真题11 Spring Cloud Alibaba Sentinel有哪些功能?

真题12 Sentinel与Spring Cloud Hystrix、Resilience4j有何不同?

真题13 如何从Hystrix迁移到Sentinel?

第9章 Web开发知识拓展

9.1 分布式软件系统相关知识

真题1 什么是SOA模式?

真题2 动静分离的好处是什么?

真题3 网页静态化技术和缓存技术有何区别?

真题4 什么是CAP原理?

真题5 如何理解数据的一致性问题?如何理解强一致性、弱一致性和最终一致性?

真题6 什么是一致性哈希算法?

真题7 常见的数据分布方式有哪些?

真题8 什么是中台系统?

9.2 电商与互联网相关知识

真题1 什么是PV、IV、UV、VV?

真题2 什么是TPS、QPS?

真题3 电商开发中SPU、SKU、ARPU分别代表的含义是什么?

真题4 B2C、B2B、O2O、C2C、P2P、P2C的含义是什么?

真题5 什么是商品快照?自己设计的电商平台,订单商品快照将如何保存?

9.3 软件安全知识

真题1 什么是CSRF攻击?如何防范CSRF攻击?

真题2 什么是XSS攻击?如何防范XSS攻击?

真题3 什么是SQL注入攻击?如何防范SQL注入攻击?

真题4 什么是文件上传攻击?如何防范文件上传攻击?

真题5 什么是Cookie攻击?如何防范Cookie攻击?

真题6 什么是HTTP Heads攻击?如何防范HTTP Heads攻击?

真题7 什么是信息摘要算法?什么是MD5?什么是SHA?

真题8 什么是对称加密算法?

真题9 什么是非对称加密安全算法?

真题10 HTTPS协议有什么优缺点?它与HTTP有什么区别?

真题11 什么是数字签名?

真题12 什么是数字证书?

真题13 什么是OAuth授权?

9.4 关于设计模式

真题1 设计模式可以分为哪三种类型?各有哪些设计模式?

真题2 Spring框架中用到了哪些设计模式?

真题3 JDK源码中用到了哪些设计模式?

真题4 请写出单例模式的具体Java代码实现。

9.5 网络编程与远程调用

真题1 网络7层协议各是什么?TCP/IP分为哪4层?

真题2 常用的远程调用方式有哪些?

真题3 WebService、RPC、RMI、Restful的区别?

真题4 远程调用框架有哪些?

真题5 RPC架构一般由哪些部分组成?RPC和HTTP调用有什么区别?

真题6 什么是服务的同步调用与异步调用?

9.6 UML与软件工程

真题1 UML的重要内容可以由哪5类图 (共9种图形) 来定义?

真题2 类之间有哪几种关系?

真题3 什么是类图?

真题4 什么是用例图?

真题5 什么是高内聚度?

真题6 软件的生产过程包括哪些?

真题7 项目的开发模型有哪些?

真题8 什么是软件的生命周期?

真题9 什么是对象间的可见性?

真题10 什么是领域模型?领域建模的步骤是什么?

第10章 常用框架组件容器

10.1 Docker

真题1 为什么会使用Docker?

真题2 什么是持续集成?持续集成服务器的功能是什么?

真题3 什么是Docker镜像?与Docker容器是什么关系?

真题4 什么是虚拟化?Docker与传统虚拟化技术的区别是什么?

真题5 什么是Dockerfile?Dockerfile中常见的指令有哪些?

真题6 Dockerfile中的COPY命令和ADD命令有什么区别?

真题7 Docker常用命令有哪些?

真题8 如何开启Docker的远程API支持?

真题9 定制Dockerfile需要注意些什么?

真题10 Docker如何通过Maven与Spring Boot集成构建镜像?

真题11 Docker容器如何与宿主机通信?

真题12 什么是docker-compose?

真题13 如何使用docker-compose?

真题14 docker-compose常用命令有哪些?

10.2 Swagger

真题1 Swagger如何控制显示或隐藏Swagger UI?

真题2 在项目中如何整合使用Swagger UI?

真题3 在已整合Swagger的项目中,具备什么条件的API能显示在Swagger UI?

真题4 为什么在整合Swagger的项目中,不应该在方法上使用@RequestMapping注解,而应该使用@PostMapping、@GetMapping、@PutMapping、@DeleteMapping等注解?

真题5 在Swagger UI中,项目如果所有单个方法@ApiResponses配置的都是相同的公共响应信息,如何配置可以让所有方法能共用,从而避免逐个方法添加?

真题6 Swagger提供的常用注解有哪些?

真题7 如何在Swagger UI中隐藏一个对象参数的一个属性?如何设置对象参数一个属性必填?如何设置默认显示值?

真题8 当要求对象参数为JSON串时,如何配置接收参数?

真题9 Swagger如何修改/v2/api-docs路径?

真题10 Swagger如何设置所有请求的统一前缀?

真题11 Swagger如何为所有的API在Header中增加一个token参数?

10.3 Elasticsearch

真题1 什么是ELK Stack?

真题2 ELK各组件的默认端口分别是哪些?

真题3 ES与Solr、Lucene有何区别与联系?

真题4 ES有哪些核心概念?

真题5 ES如何保证数据的一致性?

真题6 ES索引的执行过程是怎样的?

真题7 ES文档是如何执行更新和删除操作的?

真题8 ES对于大数据量 (上亿量级) 的聚合如何实现?

真题9 ES为什么要使用分词器?使用分词器要注意些什么?

真题10 ES自带有哪些分词器?为什么使用IK中文分词器?安装IK分词器要注意什么?

真题11 如何使用IK中文分词器?如何实现词库热更新?

真题12 ES的倒排索引是什么?

真题13 如何实现ES集群安装部署?

真题14 如何监控ES集群状态?如何查看ES集群的节点状态?

真题15 ES如何减少集群脑裂问题出现?出现时如何修复?

真题16 ES是如何实现Master选举的?

10.4 Maven

真题1 如何理解Maven的规约?

真题2 Maven与Ant的区别是什么?

真题3 Maven常用命令有哪些?

真题4 Maven如何配置本地仓库?如何修改中央仓库配置?

真题5 如何理解Maven的坐标?

真题6 Maven如何排除依赖冲突?

真题7 如何理解Maven的生命周期?

真题8 如何理解POM?

真题9 Maven常见的依赖范围有哪些?

真题10 对于一个多模块项目,如何较好地管理项目依赖的版本?

真题11 Maven如何创建多模块父子工程?

真题12 Maven如何做到打包时不带版本号?

真题13 在pom.xml中如何引用本地jar包?Maven如何手动添加依赖的jar到本地仓库?

10.5 ZooKeeper

真题1 ZooKeeper的应用场景有哪些?

真题2 ZooKeeper有哪些端口?各有什么作用?

真题3 ZooKeeper是基于什么协议实现的?

真题4 ZooKeeper有哪几种类型的数据节点?

真题5 ZooKeeper如何搭建分布式集群?

真题6 如何理解ZooKeeper的Watcher机制?

真题7 ZooKeeper如何实现配置管理?

真题8 什么是ZooKeeper的命名服务?

真题9 如何理解ZooKeeper的分布式通知和协调?

真题10 ZooKeeper对节点的Watch监听通知是永久的吗?

真题11 如何理解ZooKeeper的文件系统?

10.6 Nginx

真题1 Nginx和Apache有什么区别?

真题2 Nginx是如何处理一个请求的?

真题3 Nginx为什么不使用多线程?

真题4 Nginx是如何实现高并发的?

真题5 Nginx启动命令中带有的-s参数有何含义?

真题6 Nginx常用操作命令有哪些?

真题7 Nginx的nginx.conf配置文件结构及常用配置参数有哪些?

真题8 如何更改Nginx服务的默认用户?

真题9 如何开启高效文件传输模式?

真题10 Nginx如何配置worker进程最大打开文件数?

真题11 Nginx的expires功能有何作用?

真题12 Nginx如何限制下载速率?

真题13 常用的Nginx优化及安全策略有哪些?

真题14 Nginx如何根据扩展名限制程序和文件访问?

真题15 Nginx如何禁止访问指定目录下的所有文件和子目录?

真题16 Nginx如何解决图片防盗链问题?

真题17 如何利用Nginx限制HTTP请求的并发连接数?

真题18 Nginx如何配置网站目录权限?

附录

附录A 程序员常用Linux命令或工具

JavaWeb程序员面试笔试宝典是2023年由机械工业出版社出版,作者猿媛之家 组编。

得书感谢您对《JavaWeb程序员面试笔试宝典》关注和支持,如本书内容有不良信息或侵权等情形的,请联系本网站。

你可能喜欢
编程竞赛宝典:C++语言和算法入门 电子书

信息学奥赛金牌教练精心之作,算法竞赛宝典。
黑客攻防技术宝典:Web实战篇(第2版) 电子书

本书是探索和研究Web应用程序安全漏洞的实践指南。
全栈市场人 互联网市场营销入门通用宝典 电子书

这不是一本教科书,这是一本市场营销岗位求职和试用期的快速通关秘籍!
Python深度学习 电子书

Keras之父、谷歌人工智能研究员弗朗索瓦·肖莱执笔,深度学习领域力作。
Word Excel PPT 2019办公应用从入门到精通 电子书

适读人群:办公人员18小时视频教程,一次搞定同步学习、高效技法、行业应用!赠8大超值资源———超值赠送1:8小时与本书内容同步的视频教程!超值赠送2:5小时由ExcelHome...
机器学习实战 电子书

《机器学习实战》面向日常任务的高效实战内容,介绍并实现机器学习的主流算法。
和秋叶一起学Excel(第2版) 电子书

《和秋叶一起学Excel》视频教学,随时随地学习;《和秋叶一起学Excel》适合求职应聘的大学毕业生,让简历更受企业HR青睐;  《和秋叶一起学Excel》能帮助小白轻松简单掌...