面试题
Hercule2016
中国科学院软件研究所天基大数据团队助理工程师,希望与大家共同进步。
展开
-
面试题整理(五)(某500-999人规模)软件公司真实面试题
面向对象都有哪些特性以及你对这些特性的理解 主要还是考对面向对象的理解 1)继承:继承是从已有类得到继承信息创建新类的过程。提供继承信息的类被称为父类(超类,基类);得到继承信息的类被称为子类(派生类)。继承让变化中的软件系统有了一定的延续性,同时继承也是封装程序中可变因素的重要手段。 2)封装:通常认为封装是把数据和操作数据的方法绑定起来,对数据的访问只能通过已经定义的接口。面向对象的本质就是将现实世界描绘成一系列完全自治,封闭的现象。我们在类中编写的方法就是对实现细节的一种封装;我们编写一个类就是对于数原创 2020-09-21 11:42:14 · 415 阅读 · 0 评论 -
面试题整理(四)
数组和链表的区别 数组是将元素在内存中连续存储的 优点是: 因为数据是在内存中连续存储的,内存地址连续,所以在查询数据的时候效率很高; 缺点是: 在存储之前我们需要申请一块连续的内存空间,并且在编译的时候就需要确定好它的空间的大小。在运行的时候空间的大小是无法随着你的需要进行增加和减少而改变的,当数据量比较大的时候,肯能会出现越界的情况,数据比较小的时候,又有可能浪费掉内存空间。在改变数据的个数的shihou,增删改的效率较低。 ...原创 2020-09-11 18:42:13 · 137 阅读 · 0 评论 -
spring面试专题
springMVC的九大组件 1、MultipartResolver(文件处理器),对应的初始化方法是initMultipartResolver(context),用于处理上传请求。处理方法是将普通的request包装成MultipartHttpServletRequest,后者可以直接调用getFile方法获取File。 2、LocaleResolver(当前环境处理器),对应的初始化方法是initLocaleResolver(context),这就相当于配置数据库的方言一样,有了这个就可以对不同区域的用原创 2020-09-03 19:17:25 · 110 阅读 · 0 评论 -
Spring MVC执行流程
SpringMVC 流程? 答: 1)用户发送请求至前端控制器 DispatcherServlet。 2)DispatcherServlet 收到请求调用 HandlerMapping 处理器映射器。 3)处理器映射器找到具体的处理器(可以根据 xml 配置、注解进行查找),生成处理器对象 及处理器拦截器(如果有则生成)一并返回给 DispatcherServlet。 4)DispatcherServlet 调用 HandlerAdapter 处理器适配器。 5)HandlerAdapter 经过适配调用具原创 2020-09-02 09:30:10 · 141 阅读 · 0 评论 -
面试题整理(三)
new 一个对象的过程和 clone 一个对象的过程区别 new 操作符的本意是分配内存。程序执行到 new 操作符时,首先去看 new 操作符后面的类型,因为知道了类型,才能知道要分配多大的内存空间。分配完内存之后,再调用构造函数,填充对象的各个域,这一步叫做对象的初始化,构造方法返回后,一个对象创建完毕,可以把他的引用(地址)发布到外部,在外部就可以使用这个引用操纵这个对象。 clone 在第一步是和 new 相似的,都是分配内存,调用 clone 方法时,分配的内存和原对象(即调用 clone 方法的原创 2020-08-28 15:01:09 · 144 阅读 · 0 评论 -
面试题整理(二)
创建线程池有哪几种方式 ①. newFixedThreadPool(int nThreads) 创建一个固定长度的线程池,每当提交一个任务就创建一个线程,直到达到线程池的最大数量,这时线程规模将不再变化,当线程发生未预期的错误而结束时,线程池会补充一个新的线程。 ②. newCachedThreadPool() 创建一个可缓存的线程池,如果线程池的规模超过了处理需求,将自动回收空闲线程,而当需求增加时,则可以自动添加新线程,线程池的规模不存在任何限制。 ③. newSingleThreadExecutor(原创 2020-08-27 09:45:51 · 174 阅读 · 0 评论 -
面试题整理(一)
1、什么情况下导致死锁,遇到死锁怎么解决? 死锁的定义: 所谓死锁是在多个线程因为竞争资源的时候而造成的一种僵局(互相等待),若无外力作用,这些进程都无法向前推进。 死锁产生的必要条件: -互斥条件: 线程要求对所分配的资源(如打印机)进行排他性控制,即在一段时间内某资源仅仅为一个线程所占有。此时如果有其他的线程请求该资源,则请求线程只能等待。 -不剥夺条件:线程所使用的的资源在未使用完毕之前,不能被其他线程强行夺走,即只能由获得该资源的线程自己来释放(只能是主动释放) -请求和保持条件:线程已经保持了至少原创 2020-08-26 19:41:21 · 180 阅读 · 0 评论