茶百道面试面经(1面)

#软件开发笔面经#

6.20北京时间上午10点1面

简单自我介绍,项目介绍

-----------------------------开始问些简单八股(面试题精选)--------------------------

1. 哪些集合类是线程安全的?

  • vector:就比arraylist多了个同步化机制(线程安全),因为效率较低,现在已经不太建议使用。在web应用中,特别是前台页面,往往效率(页面响应速度)是优先考虑的。(推荐使用CopyOnWhiteArrayList,同步安全,写时复制,效率高)
  • statck:堆栈类,先进后出。
  • hashtable:就比hashmap多了个线程安全。(推荐使用ConcurrentHashMap,同步安全,分段锁,效率高)
  • enumeration:枚举,相当于迭代器。

2. 迭代器 Iterator 是什么?(遍历的另一方式,迭代器模式)

迭代器是一种设计模式,它是一个对象,它可以遍历并选择序列中的对象,而开发人员不需要了解该序列的底层结构。迭代器通常被称为“轻量级”对象,因为创建它的代价小。

3. Iterator 怎么使用?有什么特点?

Java中的Iterator功能比较简单,并且只能单向移动:

(1) 使用方法iterator()要求容器返回一个Iterator。第一次调用Iterator的next()方法时,它返回序列的第一个元素。注意:iterator()方法是java.lang.Iterable接口,被Collection继承。

(2) 使用next()获得序列中的下一个元素。

(3) 使用hasNext()检查序列中是否还有元素。

(4) 使用remove()将迭代器新返回的元素删除。

Iterator是Java迭代器最简单的实现,为List设计的ListIterator具有更多的功能,它可以从两个方向遍历List,也可以从List中插入和删除元素。

4. Iterator 和 ListIterator 有什么区别?

  • Iterator可用来遍历Set和List集合,但是ListIterator只能用来遍历List。 
  • Iterator对集合只能是前向遍历,ListIterator既可以前向也可以后向。 
  • ListIterator实现了Iterator接口,并包含其他的功能,比如:增加元素,替换元素,获取前一个和后一个元素的索引,等等。

------------------------------------over----------------------------------------------

#软件开发笔面经#
全部评论
进去可以天天喝奶茶吗
2 回复 分享
发布于 07-22 11:25 重庆

相关推荐

10-14 15:55
山西大学 Java
九点半,汉得,HR面,第一轮,35分钟(这hr怎么还问技术)你好,做个自我介绍(balabala……);你刚才提到了实习经历,能说一下为什么实习了三个月就走了(大三,年后,专业特殊性,毕业,期末,转校,培训基地,秋招);说一下实习工作,哪些产出,遇到的问题(实习项目,消息状态管理,解决方案);你刚才提到了Redis,能说说实习项目哪里有用到Redis(缓存,限流,分布式session,一主多从…);项目是自己做的吗(是);我看见第一个项目是……,能说一下为什么做这个项目吗(项目背景,技术栈,学新技术,业务理解);两个都是比较偏技术实现的对吧(对的,较少考虑业务);项目时间都是2-7月,3-8月,是同时进行的吗(开发,时间分配,后续优化);那如果让你做需求分析/用户需求调研/业务分析和技术实现上,你更偏向于选择哪个(需求调研/技术实现,开发规范,开发流程,经验比较丰富,接手都没问题);你提到这个项目应用了微服务治理理念,怎么用的(Nacos,Spring Cloud,Maven,服务通信……);怎么做服务通信的(Openfegin/Dubbo);了解过MQ嘛(RabbitMQ/RocketMQ/Kafka,路由规则,消息转发/生产/消费……写过Demo代码);我问点Java基础吧,说一下Java里面的集合(Collection,Map,List,Set,Deque,Map,实现类,数据结构,特性……);有过多线程操作经验吗,怎么处理多线程可能引发的问题(并发环境,多线程,线程同步,锁Synchronized关键字/ReetrantLock,并发容器CurrentHashMap,线程池pool复用/管理/开销,CompletableFuture异步编排,ThreadLocal曲线救国,原子类,计数器CountDownLaunch/内存屏障,快速详细说明各个方案的用法/原理/场景);嗯说的很详细,我再问些别的问题吧,你刚才提到技术交流分享,环节有哪些(精英之英,2-3周一次,技术成长,技术要点,分享方式,投票讨论,报名参加,参与过程,内容,结果);期望在哪些城市工作(问提供哪些可选base地);这个北上广深,西安成都……都有(西安,成都,简单说下想法);好的期望薪资多少(一线新一线二线,Java,行情,应届,期望);我没别的问题了,你这边还有什么问题没(基本没有,官网都摸透了,能了解到);好的今天就先到这里。结束。
点赞 评论 收藏
分享
1 7 评论
分享
牛客网
牛客企业服务