文档章节

Java面试题目(基础部分)

啰嗦的VIP站长
 啰嗦的VIP站长
发布于 2016/11/18 17:14
字数 566
阅读 22
收藏 2

1、List 与 Set 

    1)set 是不保证集合中元素的顺序的 ,List的特征是其元素有序存储

    2)set它不允许出现重复元素 且允许包含值为null的元素,但最多只能有一个null元素

    3)Set 和List 都继承了Conllection

2、ArrayList 的最大长度是多少?多线程操作(添加、删除)的情况下怎么避免ConcurrentException

     1、ArrayList是基于数组实现的,最大长度不会超过数组的长度,那数组的最大长度是多少呢?这个问题还真没想过,定义一个试试就知道了,最大长度是byte[] arr3 = new byte[2147483647];再大一点就报编译不通过。所以最大值是int的最大值是 (int 4个字节) 2的31次方减去1 。也就是Integer.MAX_VALUE的值 。这个问题我没答上来,如果你能答对话,他肯定会问下一个问题,如果业务中可能存在超过这个长度的数据怎么办,回答是 LinkedArrayList (基于于双向链表)

2、使用CopyOnWriteArrayList 替代,或 线程同步 ,或自定义一个方法(类似cocos2dx引擎的demo游戏里的清除子弹的方式,先遍历list1把要删除的数据添加到list2中,再便利list2 并删除list中的重叠的数据)

3、HashMap是怎么实现的 ,看过它的源码吗(,我擦,直没看过,也不知道)

     不知道的有必要查一下,最好看看源码吧

4、mysql 什么样的列上应该加索引 ,索引原理是什么,基于什么数据结构实现

    基于B+树  (基础不好的应该学习一下了B+树,红黑树等)我回答错了哈哈

5、消息队列适合用哪种数据结构存储

     

6、多线程问题,并发修改 int i=0  (i++)的问题,几种方式实现线程同步 

          我回答了三种:

          1、asynchronized 加在块或方法上 ; 2、Lock.lock() 与 Lock.unlock 3、使用AtomicInteger

          面试过程中,面试官好像一直试图引导我另一种实现方式,不过我没想出来。难道是想让我回答

          使用volatile关键字修饰?但是他失望了呵呵、

7、

 

© 著作权归作者所有

共有 人打赏支持
啰嗦的VIP站长
粉丝 2
博文 40
码字总数 9217
作品 0
东城
程序员
私信 提问
跳槽时,这些Java面试题99%会被问到

我在 Oracle 已经工作了近 7 年,面试过从初级到非常资深的Java工程师,且由于 Java 组工作任务的特点,我非常注重面试者的计算机科学基础和编程语言的理解深度,可以不要求面试者非要精通 ...

Java小铺
2018/08/15
0
0
BAT等公司必问的8道Java经典面试题,你都会了吗?

工作多年以及在面试中,我经常能体会到,有些面试者确实是认真努力工作,但坦白说表现出的能力水平却不足以通过面试,通常是两方面原因: 1、“知其然不知其所以然”。做了多年技术,开发了很...

java填坑路
01/06
0
0
01《Java核心技术》之谈谈你对Java平台的理解?

一、提出问题 从你接触 Java 开发到现在,你对 Java 最直观的印象是什么呢?是它宣传的 “Write once, run anywhere”,还是目前看已经有些过于形式主义的语法呢?你对于 Java 平台到底了解到...

飞鱼说编程
2018/09/06
0
0
最新scjp认证考试技巧

Java以其平台无关性、面向对象、支持多线程等优点成为越来越多的程序开发人员的新宠,Java技术以其独特的优势在越来越多的领域得以使用和发展。作为程序开发人员,为了检验对Java掌握的程度,...

vdhafy
2011/03/09
243
1
大学生该怎么学

下学期就大四了,所以这学期末就张罗着找实习 楼主可能自我膨胀,在大学里面感觉技术还行 但是,到了真正找实习的时候发现百般碰壁 特此来向前辈们请教一番。。 大学里自我感觉没有浪费父母血...

liqiang1226
2013/06/30
1K
19

没有更多内容

加载失败,请刷新页面

加载更多

Linux syslog相关函数详解

介绍 syslog是Unix系统的日志系统。可以将日志记录在本地系统中。 一个完整的syslong日志包含如下信息:程序模块 | 严重性 | 时间 | 主机名 | 进程名 | 进程ID | 正文。 syslong相关函数 1....

RongJinhui0
17分钟前
0
0
使用nsenter工具进入Docker容器

查看本机装没有nsenter whereis nsenter或者whatis nsenter 未安装先安装,网上有很多这样的脚本 vi nsenter.sh#!/bin/bashcurl https://www.kernel.org/pub/linux/utils/util-linux/v2....

问题终结者
17分钟前
1
0
MaxCompute安全管理指南-基础篇

背景及目的 方便和辅助MaxCompute的project owner或安全管理员进行project的日常安全运维,保障数据安全。 MaxCompute有安全模型,DataWorks也有安全模型,当通过DataWorks使用MaxCompute,而...

阿里云云栖社区
18分钟前
0
0
Retrofit设计模式源码解析

因为Retrofit做到了很强的解耦,因此就一定需要用到很多设计模式。所以,我觉得,通过阅读Retrofit源码来学习设计模式是再好不过的设计模式学习方法了。 大致看了一圈Retrofit源码,受益匪浅...

亭子happy
18分钟前
3
0
哈夫曼编码

哈夫曼编码的基本思想是以字符的使用频率作为权构建一颗哈夫曼树,然后利用 哈夫曼树对字符进行编码 哈夫曼算法采用的贪心策略是每次从树的集合中取出没有双亲权值最小的两棵作为左右子树, ...

writeademo
20分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部