• 产品
  • 公司
  • 头条
我也要发布信息 当前位置: 首页 » 新闻头条 » 科技

成都Ja开发经典面试题(十二)

品创格万词霸屏推广公司     发布日期:2021-10-10     浏览次数:63
核心提示:好久没有来更新我的面试题了,不知道关注我的小伙伴有没有失联啊?!呼叫!好了开始我们今天的正题分享!1、如何从FutureTask不阻塞获取结果get(longtimeout,TimeUnitunit),超时则返回轮询,先通过isDone()判断是否结束,然后调用get()2、blockingqueue如果存放了比较关键的数据,系统宕机该如何处理其实这个是一个开放性问题,不同的人会给出不同的答案,大家可以自行发挥,也可以讨论一下更好的答案。将队列持久化,比较麻烦,需要将生产数据持久化到磁盘,持久化成功才返回

好久没有来更新我的面试题了,不知道关注我的小伙伴有没有失联啊?!呼叫!

好了开始我们今天的正题分享!

1、如何从FutureTask不阻塞获取结果

get(longtimeout,TimeUnitunit),超时则返回

轮询,先通过isDone()判断是否结束,然后调用get()

2、blockingqueue如果存放了比较关键的数据,系统宕机该如何处理

其实这个是一个开放性问题,不同的人会给出不同的答案,大家可以自行发挥,也可以讨论一下更好的答案。

将队列持久化,比较麻烦,需要将生产数据持久化到磁盘,持久化成功才返回,消费者线程从磁盘加载数据到内存阻塞队列中,维护消费offset,启动时,根据消费offset从磁盘加载数据

加入消息队列,保证消息不丢失,生成序列号,消费幂等,根据消费进程决定系统重启后的生产状态

3、简单介绍下springMVC和struts2的区别有哪些?

1)springmvc的入口是一个servlet即前端控制器,而struts2入口是一个filter过虑器。

2)springmvc是基于方法开发(一个url对应一个方法),请求参数传递到方法的形参,可以设计为单例或多例(建议单例),struts2是基于类开发,传递参数是通过类的属性,只能设计为多例。

3)Struts采用值栈存储请求和响应的数据,通过OGNL存取数据,springmvc通过参数解析器是将request请求内容解析,并给方法形参赋值,将数据和视图封装成ModelAndView对象,最后又将ModelAndView中的模型数据通过reques域传输到页面。Jsp视图解析器默认使用jstl。

4、NIO与传统I/O的区别

1)节约线程,NIO由原来的每个线程都需要阻塞读写变成了由单线程(即Selector)负责处理多个channel注册(register)的兴趣事件(SelectionKey)集合(底层借助操作系统提供的epoll()),nettybossgroup处理accept连接(没看明白为什么bossgroup设置多个thread的必要性),workergroup处理具体业务流程和数据读写

2)NIO提供非阻塞操作

3)传统I/O以流的方式处理数据,而NIO以块的方式处理数据,NIO提供bytebuffer,分为堆内和堆外缓冲区,读写时均先放到该缓冲区中,然后由内核通过channel传输到对端,堆外缓冲区不走内核,提升了性能

5、list中存放可重复字符串,如何删除某个字符串

1)调用iterator相关方法删除

2)倒删,防止正序删除导致的数组重排,ind跳过数组元素问题

未完待续~

千锋教育:http://www.mobiletrain.org/

千锋成都校区:http://cd.mobiletrain.org/org/

成都校区地址:成都市武侯区科华北路62号力宝大厦N(北楼)18楼

培训咨询专线:

咨询QQ:联系人:许老师

面授课程:全栈Web开发+培训、全链路设计培训、PHP全栈+服务器集群培训、JaEE+分布式开发培训、大数据+人工智能培训、Unity游戏开发培训、Python培训、云计算+Python运维培训、全栈软件测试培训、Android培训、iOS培训、好程序员

免责声明:以上信息由北京千锋互联科技有限公司 长沙分公司整理发布,内容的真实性、准确性和合法性由该企业负责

公司名称:北京千锋互联科技有限公司 长沙分公司

联系人:李老师

联系电话:153212126244008119990

公司地址:北京市海淀区宝盛北里西区28号天丰利商城4层


信息来源:https://pinchuang.pb2b.com/

头条分类

头条排行

相关资讯