备战农行软开面试

1. Spring mvc是什么
Model view controller 模型、视图、控制器
模型(Model):负责存储系统的中心数据。
视图(View):将信息显示给用户(可以定义多个视图)。
控制器(Controller):处理用户输入的信息。负责从视图读取数据,控制用户输入,并向模型发送数据,是应用程序中处理用户交互的部分。负责管理与用户交互交互控制。
MVC实际开发架构图
备战农行软开面试_第1张图片

在MVC架构中,JSP页面就是视图,用户通过JSP页面发出请求后,Spring MVC会根据请求路径,将请求发给与请求路径对应的Controller类,Controller类调用Service类对请求进行处理,Service类会调用数据持久层MyBatis完成对实体类的存取和查询工作,并将处理结果返回到Controller类,Controller类将处理结果转换为ModelAndView对象,JSP接收ModelAndView对象并进行渲染。

2. 数据库连接池和缓存技术的作用是什么
每次都建立数据库连接的缺点:
消耗时间
消耗内存
降低效率,降低响应速度
有了连接池以后:

  1. 提供数据库连接的利用率,

  2. 减少内存开销

  3. 并发问题:synchronized关键字

  4. 多数据库服务器和多用户:
    **连接不同的数据库:**设计一个符合单例模式的连接池管理类,在连接池管理类的唯一实例被创建时读取一个资源文件,其中资源文件中存放着多个数据库的url地址等信息。根据资源文件提供的信息,创建多个连接池类的实例,每个实例都是一个特定数据库的连接池。
    同一个数据库有多个用户使用不同的名称和密码访问的情况
    通过资源文件处理,即在资源文件中设置多个具有相同url地址,但具有不同用户名和密码的数据库连接信息。
    数据库连接池:
    数据库连接池负责分配、管理和释放数据库连接,它允许应用程序重复使用一个现有的数据库连接,而不是再重新建立一个。
    连接池的分配和释放:先找有没有空闲的连接,如果有就连接。如果没有:查看当前连接数有没有达到最大连接数,如果没有,就创建一个连接。
    如果超过了:就等待一段时间,如果超时了,就return null.
    最小连接数:系统启动时连接池所创建的连接数
    最大连接数

  5. 有三亿用户,有登录时间下线时间,用户id,保存在一个log里,如何统计用户的在线分布,单位粒度为秒
    一天总共有 3600*24 = 86400秒。
    定义一个长度为86400的整数数组int delta[86400],每个整数对应这一秒的人数变化值,可能为正也可能为负。开始时将数组元素都初始化为0。
    然后依次读入每个用户的登录时间和退出时间,将与登录时间对应的整数值加1,将与退出时间对应的整数值减1。
    这样处理一遍后数组中存储了每秒中的人数变化情况。
    定义另外一个长度为86400的整数数组int online_num[86400],每个整数对应这一秒的论坛在线人数。
    假设一天开始时论坛在线人数为0,则第1秒的人数online_num[0] = delta[0]。第n+1秒的人数online_num[n] = online_num[n-1] + delta[n]。
    这样我们就获得了一天中任意时间的在线人数。

  6. 根据自我介绍问项目

  7. 多线程创建方式

  8. Error和exception

  9. 抽象类和接口的区别

  10. 大数据量高并发怎么从数据库设计和软件应用程序上来改善

  11. 索引的优缺点

  12. 数据库四范式

  13. ACID

  14. HashMap 和hashTable

  15. Java的多态如何实现的

  16. 敏捷开发和瀑布开发的区别

  17. 软件开发过程

所有问题:
1.http和https区别

2linux常见的命令(压缩和解压缩,创建文件)

3.delete和t区别

4.tcp和udp区别

5.线程间通信方式

6.什么是线程间的通信

7.线程和进程区别

8.触发器

9.索引创建的规则

10.cookie和session区别

11.线程有哪几种状态

12.说出5种排序算法

大概一组面试完1个小时左右吧

下面给出我了解到的其他组的问题

1、什么是缓存?

2、写出三种缓存策略

3、缓存会导致什么问题?

4.幻读

5.泊松分布中lambda参数是什么含义?

6.二叉树层次遍历用到的数据结构是什么?

7.说出5种排序算法

8.二叉树有几种遍历算法,时间复杂度是多少?

9.在网页地址栏输入网址,按回车之后都完成了哪些过程

10.进程和线程的区别

11.tcp和udp的区别

12.数据库连接是tcp的还是udp的

13.数据库char和varchar的区别

14.说一下数据库的隔离级别。

15.二叉树有几种遍历算法,时间复杂度是多少?

16.不稳定性是啥?快排是稳定的吗,为什么不稳定

17.索引和插件的区别

18.进程间通信

19.如何创建线程

20.sql攻击

21.spring boot的优势

22.springboot和springcloud

23.DML DDL

24.删除数据的方式

25.集合有哪几种

26.异常机制

27.回收机制

28.string Arraylist

你可能感兴趣的:(面试题)