第二轮面试题
1.SSM的开发步骤是什么?
2.设计一个权限模块?
3.什么是docker?
4.什么是dockfile?
5.什么是docker-compose?
6.什么是Portainer?
7.在公司里使用的docker的版本是什么?
8.镜像和容器的关系?
9.分布式锁中的基于redis的setnx的原理以及set和setnx的区别是什么?
10.什么是springcloud,springcloud中的组件有哪些?分别描述下它的原理?
11.什么是jmeter?
一、SSM的开发步骤是什么?
"二八"
web.xml
1.前端控制器DispatcherServlet
2.过滤器CharacterEncodingFilter
applicationContext.xml
1.扫描包 <context:component-scan base-package="cn"/>
2.mvc驱动 <mvc:annotation-driven/>
3.事务驱动 <tx:annotation-driven transaction-manager="txManager"/>
4.配置数据源
5.SqlSessionFactoryBean
6.配置事务
7.数据映射器
8.视图解析器
二、设计一个权限模块?
权限模块是数据库的安保系统,决定谁可以使用,谁拥有权限,有user、role、permission表,通过user-role、role-permission关联表(码表)进行关联,
给角色分配权限,角色发放权限给用户。
三、什么是docker?
Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows 机器上,
也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。
四、什么是dockfile?
Dockerfile是一个包含用于组合映像的命令的文本文档,可以使用在命令行中调用任何命令。
五、什么是docker-compose?
可以管理多个 Docker 容器组成一个应用,定义一个 YAML 格式的配置文件docker-compose.yml,写好多个容器之间的调用关系。
然后,只要一个命令,就能同时启动/关闭这些容器。
六、什么是Portainer?
Portainer是Docker的图形化管理工具
七、在公司里使用的docker的版本是什么?
18.09.7
八、镜像和容器的关系?
容器是可写的,镜像是可读的。容器是镜像的实例,镜像是容器的静态备份。
九、分布式锁中的基于redis的setnx的原理以及set和setnx的区别是什么?
分布式锁基于setnx原理,如果 SETNX 返回1,说明该进程获得锁。
如果 SETNX 返回0,说明其他进程已经获得了锁,进程不能进入临界区。进程可以在一个循环中不断地尝试 SETNX 操作,以获得锁。
redis中set是将字符串值 value 关联到 key 。如果 key 已经持有其他值, SET 就覆写旧值,无视类型。
setnx是当且仅当 key 不存在时,可以设置 value值 。若给定的 key 已经存在,则 SETNX 不做任何动作。
十、什么是springcloud,springcloud中的组件有哪些?分别描述下它的原理?
SpringCloud架构中最核心的是Eureka注册中心,它是一个通讯录。所有p端和c端都会注册在上面,cloud中c端调用p端应用feign组件进行调用。应用程序导致网络请求出现问题时,hystrix组件实现容错机制。用户请求量变大是,用ribbon组件实现客户端的负载均衡。而服务器端的负载均衡通常使用nginx反向代理。SpringCloud中有类似于servlet过滤器的组件,zuul网关组件对整个服务架构进行安全过滤。当使用一个服务调用多个feign组件的时候,sleuth+zipkin组件用来服务追踪,可以用来调试接口(追踪问题)。config组件进行统一配置。
dubbo基于RPC,SpringCloud基于RESTful。
组件ribbon、feign、hstrix 、eureka、zuul。
十一、什么是jmeter?
Apache JMeter 是 Apache 组织开发的基于 Java 的压力测试工具。用于对软件做压力测试,它最初被设计用于 Web 应用测试,但后来扩展到其他测试领域。
发送请求到服务端,获取目标服务的统计信息,生成不同格式的报告。