游戏电视苹果数码历史美丽
投稿投诉
美丽时装
彩妆资讯
历史明星
乐活安卓
数码常识
驾车健康
苹果问答
网络发型
电视车载
室内电影
游戏科学
音乐整形

大厂面试别再问我Java八股文了

  面试现场
  面试官:你好,我是面试官xxx,请问你是大彬吗?
  大彬:面试官,您好,我是大彬
  面试官:现在方便面试吗?
  大彬:嗯嗯,可以的
  面试官:那我们现在开始面试吧
  面试官:看你简历上写了熟悉集合相关内容,你了解Java的List吗?
  大彬:嗯,List是一个接口,常见的实现类有ArrayList和LinkedList
  面试官:讲讲这两个实现类的区别?
  独白:老八股文了哈哈
  大彬:ArrayList的底层数据结构是数组,支持下标访问,查询数据快。默认初始值大小为10,容量不足时会进行扩容
  大彬:而LinkedList的底层数据结构是链表,将元素添加到链表的末尾,无需扩容
  面试官:嗯嗯,刚刚你提到ArrayList的扩容,详细讲讲?
  独白:好家伙,就知道你会问这个,八股文都已经准备好了。
  大彬:ArrayList扩容源码实现如下:publicbooleanadd(Ee){ensureCapacityInternal(size1);扩容elementData〔size〕e;returntrue;}privatevoidensureCapacityInternal(intminCapacity){if(elementDataDEFAULTCAPACITYEMPTYELEMENTDATA){minCapacityMath。max(DEFAULTCAPACITY,minCapacity);}ensureExplicitCapacity(minCapacity);}privatevoidensureExplicitCapacity(intminCapacity){modCount;overflowconsciouscodeif(minCapacityelementData。length0)grow(minCapacity);}privatevoidgrow(intminCapacity){overflowconsciouscodeintoldCapacityelementData。length;intnewCapacityoldCapacity(oldCapacity1);if(newCapacityminCapacity0)newCapacityminCapacity;if(newCapacityMAXARRAYSIZE0)newCapacityhugeCapacity(minCapacity);minCapacityisusuallyclosetosize,sothisisawin:elementDataArrays。copyOf(elementData,newCapacity);}
  大彬:可以看到,在grow方法里面进行扩容,将数组容量扩大为原来的1。5倍。
  大彬:举个例子,如果初始化的值是8,当添加第9个元素的时候,发现数组空间不够,就会进行扩容,扩容之后容量为12。
  大彬:扩容之后,会调用Arrays。copyOf()方法对数组进行拷贝。
  面试官:嗯,不错,那ArrayList和LinkedList分别适用于什么场景?
  大彬:对于随机index访问的get和set方法,ArrayList的速度要优于LinkedList。因为ArrayList直接通过数组下标直接找到元素;LinkedList要移动指针遍历每个元素直到找到为止。
  大彬:新增和删除元素,LinkedList的速度要优于ArrayList。因为ArrayList在新增和删除元素时,可能扩容和复制数组;而LinkedList的新增和删除操作只需要修改指针即可。
  大彬:因此,ArrayList适用于查询多,增删少的场景。而LinkedList适用于查询少,增删多的场景
  面试官:讲讲Set和List的区别?
  大彬:List以索引来存取元素,有序的,元素是允许重复的,可以插入多个null;Set不能存放重复元素,无序的,只允许插入一个null。
  大彬:List底层实现有数组、链表两种方式;Set基于Map实现,Set里的元素值就是Map的键值。
  面试官:了解Vector吗?
  大彬:嗯,Vector是底层结构是数组,现在基本没有使用Vector了,因为操作Vector效率比较低。相对于ArrayList,它是线程安全的,在扩容的时候容量扩展为原来的2倍。
  面试官:嗯,那你还知道有哪些线程安全的List吗?
  大彬:可以使用Collections。synchronizedList()方法返回一个线程安全的List。
  大彬:还有另一种方式,使用CopyOnWriteArrayList。
  面试官:嗯哼,刚刚你提到CopyOnWriteArrayList,详细讲讲它的原理?
  独白:这也太卷了吧,一言不合就是底层原理。。。
  大彬:CopyOnWriteArrayList是一个线程安全的List,底层是通过复制数组的方式来实现的。
  大彬:所谓的CopyOnWrite,就是写时复制。
  大彬:当我们往容器添加元素时,不直接往容器添加,而是先将当前容器进行复制,复制出一个新的容器,然后往新的容器添加元素,添加完元素之后,再将原容器的引用指向新容器。
  大彬:这样做的好处就是可以对CopyOnWrite容器进行并发的读而不需要加锁,因为当前容器不会被修改。publicbooleanadd(Ee){finalReentrantLocklockthis。lock;lock。lock();add方法需要加锁try{Object〔〕elementsgetArray();intlenelements。length;Object〔〕newElementsArrays。copyOf(elements,len1);复制新数组newElements〔len〕e;setArray(newElements);原容器的引用指向新容器returntrue;}finally{lock。unlock();}}
  面试官:那你能说说CopyOnWriteArrayList有什么缺点吗?
  大彬:主要有以下两个问题。
  大彬:内存占用问题。由于CopyOnWrite的写时复制机制,在进行写操作的时候,内存里会同时驻扎两个对象的内存。
  大彬:CopyOnWrite容器不能保证数据的实时一致性,可能读取到旧数据。
  面试官:嗯,可以。
  面试官:问一些平时开发经常遇到的问题,怎么给List排序呢?
  大彬:可以使用list自身的sort方法,或者使用Collections。sort(list)方法。
  面试官:怎么在遍历ArrayList时移除一个元素?
  大彬:如果使用foreach删除元素的话,会导致快速失败(fastfail)问题,可以使用迭代器的remove()方法,避免fastfail问题。Iteratoritrlist。iterator();while(itr。hasNext()){if(itr。next()。equals(dabin){itr。remove();}}
  面试官:基础还不错!回去等通知
  大彬:好的,谢谢你
  独白:回去等通知?不会凉了吧。。。

电视剧素手遮天迎来大结局马梦乔演技爆发实力圈粉星关系讯:近日,于敏导演、陈紫函制片,马梦乔出演的超级网剧《素手遮天》正式迎来大结局。自开播以来该剧点击率一路领跑,成为炎炎夏日网络荧屏上杀出的一匹黑马,截至今日,网络播放量已……小米的高端之路该怎么走,米粉花粉都来出谋划策吧小米公司雷军虽然网络充斥着小米的笑话:米冲高,关键年,小毛病,重启解,再不行,去售后,尽量忍,勿声张,免抓柄。但是,小米在21年,确实努力往高端手机发力,推出了小米11,……小米10s使用感受陪伴我2年5个月的小米9,在不久前突然主板烧掉了。紧急之下,在小米10s和小米11之间做了抉择。最终还是选择了上代旗舰小米10s。使用几天后,感觉10s还是符合3000价……AppleWatchSeries7渲染图曝光,直角边框设计,虽然距离发布会还有挺长一段时间,但关于AppleWatchSeries7的相关爆料可是一点都不少。自从直角边框重新回归到iPhone系列之后,苹果旗下的很多产品线好像都在慢慢变……成毅琉璃美人煞花絮曝光温柔演绎深情禹司凤星关系5月23日讯近日,由成毅担纲男主,携手袁冰妍主演的东方神话仙侠钜制《琉璃美人煞》首次曝光一段男、女主吻不到主题的花絮片段,初次向观众展露了两人的情感走向。剧中,成毅饰演的……智能手表过于同质化,小众品牌的出路,究竟在哪?前言:国产智能手表的出路在哪?国产智能手表的出路在哪?是沿袭Applewatch,还是走向独立自主的设计?我相信这是很多国内智能手表厂商的症结所在。因此,不同的价值……智能黑板综合评价学生随着中高考招生制度的改革,综合素质评价被纳入招生考核标准。智能黑板用信息技术对学生进行综合素质评价,欧帝成长脚印助力学校推进教育信息化建设。传统课堂上,老师单向授课,学生……梁洁不说谎恋人开机俏皮助理谎斗霸道总裁星关系10月11日讯由企鹅影视、喀什喜瑞文化传媒有限公司、浙江淘气猫文化传媒有限公司出品,北京快看世界信息技术有限公司联合出品,香港著名导演陈嘉上监制,新生代演员梁洁、辛云来主……西门子漏电断路器拆解,了解漏电断路器的保护原理和内部机械结构今天我们要看一下西门子断路器的内部结构和工作原理。首先看一下今天要拆解的主角。西门子5SU93561CN16西门子漏电断路器下面就开始拆啦,首先拆右侧漏电保护……你好检察官首曝海报剧照检察官天团正义集结星关系11月1日讯昨日,最高人民检察院、教育部、共青团中央联合举办了青春需要温暖首映式,由李易峰出演的预防校园欺凌公益宣传片在活动现场上首次曝光。同时,由同一制作团队打造的电视……从前排名前3的爆火机型,前两款我们都知道,没想到最后一款是他说到手机,我们脑海里可能就会闪现出来一个品牌那就是诺基亚,但是随着苹果手机的问世,诺基亚没有引起足够的重视,最终丢失掉了智能手机板块这块大蛋糕。苹果4就是智能手机和以前老式按键……宅家也能享受专业指导FITMORE智能健身镜一面神奇的魔镜每个人都有健身运动的需求,不论是小哥哥们的增肌强体,还是小姐姐们的塑造身形,或是老人们的舒筋展骨,或是小朋友们的成长打闹。规范且适量的运动,不仅能够让我们实现前面的愿望,更能让……
北京海关关于跨境电商物流企业向海关推送实时物流信息的通告北京海关关于跨境电商物流企业向海关推送实时物流信息的通告按照《关于完善跨境电子商务零售进口监管有关工作的通知》(商财发〔2018〕486号)《海关总署关于跨境电子商务零售……视频影像再进化OPPOReno6曝光信息汇总《新机谍中谍》栏目中谍中谍寓意谍报中的谍报,在新机发布之前,让我们用专业的眼光、风趣幽默的文字,告诉你新机谍报中的那些真真假假,提前为你揭秘即将发布的重磅新机当中可能存在的那些……Windows系统几个基础概念吴大神带你了解电脑基础系列02一、硬盘和内存的区别大白话:硬盘的大小决定了能存储多少东西,内存的大小在一定程度上决定了操作系统运行、数据处理速度的快慢。硬盘现在主要分为机械硬盘和固态硬盘两大类。……在无人机摄影越来越普及的今天,单反拍风光是否越来越没前途?无人机和单反,都是摄影器材,二者的视角不一样,表现方式也不完全一样的。各自有各自的优势和发展空间,不存在谁会替代谁的问题。但我在摄影的时候,单反,数码后背和无人机,都会带。我的……中企打破日企垄断,芯片材料突破封锁,成功拿下首个订单众所周知,光刻机在芯片的生产过程中起着举足轻重的作用。只要拥有一台EUV光刻机,芯片制造企业就可以研制出更加先进的芯片工艺。除了光刻机之外,光刻胶等半导体材料对于芯片的光刻环节……华为P30系列不完全曝光50倍数码变焦双景录像还有新一代Wa随着华为P30系列3月26日法国巴黎全球新品发布会进入倒计时,除了网间的不断曝光之外,官宣的预热也陆续多了起来。根据网间最新的曝光和官方的预热看,P30系列将主打更有创意和更高……事关华为鸿蒙OS系统!外媒再次传来好消息格力董大姐表态接入鸿【7月8日讯】相信大家都知道,华为鸿蒙OS系统发布至今已经有一个多月时间了,在这短短一个月时间内,已经有很多华为手机用户升级了鸿蒙OS系统,并且我们从首批升级鸿蒙OS系统公测版……火爆的滴滴下架事件,让我毛骨悚然7月4日北京日报的一则关于滴滴出行APP下架的新闻,直接火爆全网。身边的同事、好友,认识的,不认识的都在纷纷吐槽滴滴。从违规收集客户信息升级到泄露国家地理数据,再次演变成老柳一……腾讯红魔游戏手机6R官宣,或主打机身轻薄特性数月前,努比亚旗下的红魔品牌联手腾讯推出了全新的腾讯红魔游戏手机6系列机型,并凭借着极具辨识度的外观设计和强悍的硬件配置,赢得了众多玩家朋友的青睐。而在近日官方宣布,将于5月2……如果美国发行数字货币,对世界经济有什么影响?不论美元还是美国数字货币,与同美元一样,都是受国家信誉的影响,美元衰落,他的数字货币也好不到哪里去,只不过是换汤不换药罢了。世界苦美元已久了,无论他发行什么货币,摆脱对美……12月我国规上互联网企业业务收入同比增长5。112月,我国互联网业务收入增速下跌,利润出现下滑,研发费用小幅收缩。细分领域企业呈现不同增长态势,以信息服务为主的企业发展放缓,提供生活服务、网络销售服务的平台企业收入保持平稳……CEffective读书笔记条款4条款4:尽量使用C风格的注释旧的C注释语法在C里还可以用,C新发明的行尾注释语法也有其过人之处。例如下面这种情形:if(ab){inttempa;swapaandb……
友情链接:易事利快生活快传网聚热点七猫云快好知快百科中准网快好找文好找中准网快软网