来两套面试题保持手感 目录 1 Java中接口的修饰符可以为(D) private B.protected C.final D.abstract 2 在Java多线程中,以下哪种方式不会使线程进入阻塞状态(B) sleep() B.yield() C.wait() D.Suspend() 3 以下结构中,哪个具有同步功能(B) HashMap() B.ConcurrentHashMap() C.WeakHashMap() D.TreeMap() 4 关于sleep()和wait(),以下描述错误的一项是(D) sleep是线程类(Thread)的方法,wait是Object类的方法 Sleep不释放对象锁,wait放弃对象锁 Sleep暂停线程、但监控状态任然保持,结束后会自动恢复 Wait后进入等待锁定池,只针对此对象发出notify方法后获取对象锁进入运行状态。 5 下列哪种异常时检查型异常,需要再程序编写时声明(C) NullPointerException ClassCastException FileNotFoundException IndexOutOfBoundsException 6 下列选项中,哪个不是JSP的内置对象(A) A.cookie B.pageContext C.application() D.exception 7 在JSP中,下列哪个选项可以定义一个新类(B) <% %> B.<%! %> C.<%@ %> D.<%= %> 8 下列代码运行结果为(B) 报错 Error: java: 不兼容的类型: 从int转换到short可能会有损失 +=会自动类型转换! 1、甲乙丙3个进程对某类资源的需求分别是7个、8个、3个。且目前已分别得到了3个、3个和2个资源,若系统还至少能提供( )个资源,则系统是安全的。 A. 1 B. 4 C. 2 D. 8 2、现有表user,字段:userid,username, salary, deptid,email; 表department,字段:deptid, deptname下面( )应采用检查约束来实现? A. 若department中不存在deptid为2的纪录,则不允许在user表中插入deptid为2的数据行。 B. 若user表中已经存在userid为10的记录,则不允许在user表中再次插入userid为10的数据行 C. User表中的salary(薪水)值必须在1000元以上。 D. 若User表的email列允许为空,则向user表中插入数据时, 可以不输入email值。 链接:https://www.nowcoder.com/questionTerminal/1a7e237c89ba4ec39545e90647588a58 选C:用检查约束(check)来检查输入数值的合法性,列字段的内容必须符合要求的一个范围 alter table user add constraint CK_SALARY check(salary > 1000) A:外键约束Foreign Key,选项中说明了department与user两张表的数据具有相关约束性 alter table user add constraint CK_DEPID foreign key(depid) references department (depid) B:唯一性约束Unique,确保userid字段不重复 add constraint CK_USERID unique(userid) D:没用到约束 3、假定栈的入栈序列是 A、B、C、D、E,则该栈的不可能的输出序列是( ) A. EDCBA B. DECBA C. DCEAB D. ABCDE 4、网络数据传输中数据封装的过程的是( ) A、数据段—数据包—数据帧—数据流—数据 B、数据流—数据段—数据包—数据帧—数据 C、数据—数据段—数据包—数据帧—数据流 D、数据—数据包—数据段—数据帧—数据流 5、一棵二叉树中有3个叶子结点,有8个度为1的结点,则该二叉树中总的结点数为( ) https://www.nowcoder.com/questionTerminal/437379583cec4ae898e5c83c7e8a3a8e?toCommentId=550948 A:12 B:10 C:13 D:14 6、操作系统采用缓冲技术,能够减少CPU( )次数,从而提高资源的利用率 A. 中断 B. 访问 C. 控制 D. 依赖 7、对一个含有20个元素的有序数组做二分查找,数组起始下标为1,则查找A[2]的比较序列的下标为( ) https://www.nowcoder.com/questionTerminal/b78bf3e2e3d3420f9f2341ac1b7aab14?toCommentId=140740 (high-low)/2+low = middle; 下标从1开始,因为查找查找A[2], low始终为1; (20-1)/2+1=10; (10-1)/2+1 = 5; (5-1)/2+1 = 3; (3-1)/2+1 = 2; A. 9,5,4,2 B. 10,5,3,2 C. 9,6,2 D. 20,10,5,3,2 8、有8层台阶,开始在第0层,每次可以爬一层或者两层,请问爬到8层一共有( )种方法 斐波那契数列问题。动态转移方程式:F(n)=F(n-1)+F(n-2),因为第n层可以由第n-1层或第n-2层爬到,所以一直递推即可。 A. 33 B. 34 C. 35 D. 36 9、某商店有两个进价不同的计算器都卖了64元,其中一个赢利60%,另一个亏本20%,在这次买卖中,这家商店( ) A. 不赔不赚 B. 赚了8元 C. 赔了8元 D. 赚了32元 10、以下程序的执行结果是什么( ) A Child.test() Base.test() B Child.test() Child.test() C 编译报错. D 运行报错. 11、下列说法正确的有( ) A. class中的constructor不可省略 B. constructor必须与class同名,但方法不能与class同名 C. constructor在一个对象被new时执行 D.一个class只能定义一个constructor 12、 在一个类中重写了hashCode和equals两个方法,那么对于同一个类的两个实例,下列说法正确的是( )[多选] A. 如果hashCode值相同,equsal不同,则这两个对象相同 B. 如果hashCode值相同,equals相同,则这两个对象相同 C. 如果hashCode不同,equals相同,则这两个对象相同 D. 如果hashCode值相同,则这两个对象有可能相同 13、下列程序执行结果是什么( ) A、144 B、164 C、140 D、160 14、关于实例方法和类方法,以下描述正确的是:( ) A. 实例方法只能访问实例变量 B. 类方法既可以访问类变量,也可以访问实例变量 C. 类方法只能通过类名来调用 D. 实例方法只能通过对象来调用 15、下列关于interface(接口)的说法正确的是:( ) A. interface中可以有private方法 B. interface中可以有final方法 C. interface中可以有function实现 D. interface可以继承其他interface 答:== 和 equals都是比较两个变量是否相同。 ==,变量是基本数据类型时,比较的是变量值是否相等;引用类型则比较所指对象的地址。 Equals方法比较是否是同一个对象,内容是否相等。 答:关键字enum Enum是一个abstract类。 3、什么是反射?如何通过反射来创建对象?(10分) 答:反射就是对于任意一个类,可知其属性方法,对于任意一个对象都可以去调用其中的方法属性。 1使用 .getClass()获取对象。2构造器?创建instance实例对象。 4、简述String、StringBuffer和StringBuilder的区别及适用场景。(10分) 答:首先三者都是操作字符串的。 String:不可变,当对变量没啥操作的时候用String。 StringBuilder:线程非安全,所以单线程使用。 StringBuffer:加入了同步锁,线程安全。多线程可用。 1、 数据库查询语句编写:提取部门名称、平均工资,要求按部门的字符串顺序排序,不能含有” development resource”部门。employee表结构如下:employee_id,employee_name, depart_id,depart_name,wage 答案: select depart_name, avg(wage) 2、JVM在什么情况下会发生栈内存溢出? 方法循环调用(递归),栈帧充满了整个栈后溢出 3、 Java 中操作字符串都有哪些类?它们之间有什么区别? java中操作字符串的类,分别是String,StringBuffer和StringBuilder.这三个类都是以char[]的形式保存的字符串,但是String类型的字符串是不可变的。 对String类型的字符串做修改操作都是相当于重新创建对象. 对StringBuffer和StringBuilder操作都是对同一个对象做作. StringBuffer中的方法大部分都使用synchronized关键字修饰,所以StringBuffer是线程安全的。 StringBuilder中的方法则没有,线程不安全,但是StringBuilder因为没有使用使用synchronized关键字修饰,所以性能更高。 在单线程用StringBuilder,多线程用StringBuffer. 如果字符串几乎不做修改操作,那么我就直接使用String,因为不调用new关键字声明String类型的变量的话它不会在堆内存中创建对象,直接指向String的常量池,并且可以复用.效率更高. 4、 深拷贝和浅拷贝区别是什么? 假设B复制了A,修改A的时候,看B是否发生变化: 如果B跟着也变了,说明是浅拷贝,拿人手短!(修改堆内存中的同一个值) 如果B没有改变,说明是深拷贝,自给自足!(修改堆内存中的不同的值) 1,因为创建对象都需要构造函数初始化,只要将本类中的构造函数私有化,其他程序就无法再创建该类对象;2,就在类中创建一个本类的对象;3,定义一个方法,返回该对象,让其他程序可以通过方法就得到本类对象。(作用:可控 2.递归实现九九乘法表 输出如下
第一套
public static void main(String[] args) { short num = 1; num += 1; num = num + 1; System.out.println(num); }
第二套
要用到数据结构里面的一个定理 设T是由n个结点构成的二叉树,其中,叶子结点个数为n0,次数为2的结点个数为n2,则有: n0=n2+1 所以结点个数:叶子结点(3)+次数为1的结点(8)+次数为2的结点(2) =13
简答题
from employee
where depart_name != human resource
group by depart_name
order by depart_name编程题
//单例:饿汉式,类加载时就初始化,浪费内存。基于 classloder 机制避免了多线程的同步问题 public class Singleton { //私有构造函数 private Singleton(){}; //创建私有并静态的本类对象 private static Singleton s = new Singleton(); //对外提供方法,获取本类对象 public Singleton getSingleton(){ return s; } } //单例:懒汉式,线程不安全基本的实现方式,这种实现最大的问题就是不支持多线程。因为没有加锁 synchronized,所以严格意义上它并不算单例模式。 这种方式 lazy loading 很明显,不要求线程安全,在多线程不能正常工作。 public class Singleton{ //私有构造函数 private Singleton(){}; //创建私有并静态的本类对象 private static Singleton s = null; //对外提供方法,创建并获取本类对象 public static Singleton getSingleton(){ if (s == null) { s = new Singleton(); } return s; } }
public class NinePlusNine { public static void main(String[] args) { System.out.println("--------下面是循环方法"); XunHuan(); System.out.println("--------下面是递归方法"); DiGui(9); } public static void XunHuan(){ for(int i = 1; i < 9; i++){ for(int j = 1; j <= i; j++){ System.out.print(j + "*" + i + "=" + j * i + " "); } System.out.println(" "); } } public static void DiGui(int i) { if (i == 1) { System.out.println("1*1=1 "); } else { DiGui(i-1); for (int j = 1; j <= i; j++) { System.out.print(j + "*" + i + "=" + j * i + " "); } System.out.println(); } } }
本网页所有视频内容由 imoviebox边看边下-网页视频下载, iurlBox网页地址收藏管理器 下载并得到。
ImovieBox网页视频下载器 下载地址: ImovieBox网页视频下载器-最新版本下载
本文章由: imapbox邮箱云存储,邮箱网盘,ImageBox 图片批量下载器,网页图片批量下载专家,网页图片批量下载器,获取到文章图片,imoviebox网页视频批量下载器,下载视频内容,为您提供.
阅读和此文章类似的: 全球云计算