深圳有为JAVA笔试

1.定义一个线程类有几种方法?分别是什么?

答:两种方法,一种继承Thread类,重写run()方法,第二种实现runnable接口,实现run()方法。

2.抽象类和接口的区别?

答:(1)抽象类可以有非抽象方法,接口的方法都是抽象。(2)抽象类可以有构造方法,接口没有构造方法。(3)抽象类中抽象方法的访问修饰符可以是public,protected,接口中必须是public,且默认是public abstract(4)抽象类中可以有普通成员属性,接口中没有普通成员属性 (5)一个类只能实现一个类,一个类可以继承多个接口。(6)抽象类和接口中的都可以有静态的成员属性,抽象类中静态成员属性可以是任意的,接口中的只能是public static final

3.面向对象的特征有哪些方面?

答:封装、继承、多态、抽象

4.在java中,数组是基本数据类型吗?

不是

5.long和Long的区别

答:long:基本数据类型,Long包装类

6.|和||的区别

答:||表示逻辑或,且有短路的功能。|还有按位或运算的意思。

7.char型变量能不能存储一个中文汉字

答:可以。

8.是否可以继承String类

答:否

9.hashtable和hashmap的区别

答:hashtable线程安全,hashmap线程不安全。且hashmap允许空键值,hashtable不行。

10.如何实现多态?写一实现多态的代码,并说明一下。

List list=new ArrayList();

父类型的引用指向子类对象

11.final,finally,finalize的区别

答:(1)final是修饰符,用来修饰变量,方法和类,分别表示变量不可变,方法不可覆盖,类不可继承,

(2)finally是处理异常的一部分,表示总是不能执行。

(3)finalize是object的一个方法,在垃圾收集器执行的时候回调用此对象的此方法。

12.synchronized关键字的用法?

答:同步代码块和同步方法。

13.下面一段程序会输出什么?

public class Test2 {

public static void main(String[] args) {

A a=new B();

a.display();

}

}

class A{

protected int val=1000;

static{

System.out.println("A static");

}

public A(){

val++;

System.out.println("A construtor(),val="+val);

}

public void display(){

val++;

System.out.println("A display(),val="+val);

}

}

class B extends A{

static{

System.out.println("B static");

}

public B(){

val++;

System.out.println("B constructor(),val="+val);

}

public void display(){

val++;

System.out.println("B constructor(),val="+val);

}

}

输出结果:

A static

B static

A construtor(),val=1001

A construtor(),val=1002

A construtor(),val=1003

14.编程题:用最有效的方法算出2乘以16等于几?

2<<4

15.如何判断一个单链表是有环的?并用你的算法实现。

设置两个指针(fast, slow),初始值都指向头,slow每次前进一步,fast每次前进二步,如果链表存在环,则fast必定先进入环,而slow后进入环,两个指针必定相遇。(当然,fast先行头到尾部为NULL,则为无环链表)

程序如下:

bool IsExitsLoop(slist *head) {

slist *slow=head,

*fast= head;

while ( fast &&fast->next )

{

slow = slow->next;

fast = fast->next->next;

if ( slow ==fast ) break;

}     return !(fast == NULL || fast->next == NULL);

}

16说出servlet的生命周期,并说出servlet与CGI的区别、

答:(1)servlet被服务器实例化后,容器运行其init()方法,请求到达service方法,service方法自动派遣运行与请求对应的doget或dopost方法,当服务器决定将实例销毁的时候,调用其destroy方法。

(2)servlet处于服务器进程中,他通过多线程的方式运行其service方法,一个实例可以服务于多个请求,并且其实例一般不会销毁,而CGI对每个请求都产生新的进程,服务完成后就销毁,所以效率上低于servlet。

17.写出你所知道的设计模式?

答:单例模式,观察者模式,工厂模式,装饰模式,代理模式,适配器模式。

18.数据库表结构如下

Student(S#,sname,ssex) 学生表

Course(C#,cname,T#)课程表

SC(S#,C#,score)成绩表

Teacher(T#,tname)教师表

试用sql语句描述

A:查出学生“小张”所选的所有课程。

B:查出选修课程“数学”且成绩及格的学生

C:删除学生“小王”的所有成绩记录

D:将教师”李老师”的所教课程的所有学生的成绩加5分。

A:

select c.cname

from student s1,course c,sc s2

where  s1.sid=s2.sid and c.cid=s2.cid and s1.sname='小张';

B

select s1.*

from student s1,course c,sc s2

where  s1.sid=s2.sid and c.cid=s2.cid

and c.cname='数学' and s2.score>60;

C子查询

delete from sc

where  sid=(select sid from student where sname='小王');

D

update sc set score=score+5

where cid=(select cid from course where tid

=(select tid from teacher where tname='李老师'));

加强练习:http://www.cnblogs.com/zengxiangzhan/archive/2009/09/23/1572276.html

测试数据库建表语句

/*

Navicat MySQL Data Transfer

Source Server         : localhost_3306

Source Server Version : 50627

Source Host           : localhost:3306

Source Database       : test_mianshi

Target Server Type    : MYSQL

Target Server Version : 50627

File Encoding         : 65001

Date: 2016-10-22 21:16:47

*/

SET FOREIGN_KEY_CHECKS=0;

-- ----------------------------

-- Table structure for `course`

-- ----------------------------

DROP TABLE IF EXISTS `course`;

CREATE TABLE `course` (

`cid` int(11) NOT NULL DEFAULT '0',

`cname` varchar(50) DEFAULT NULL,

`tid` int(11) NOT NULL DEFAULT '0',

PRIMARY KEY (`cid`,`tid`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- ----------------------------

-- Records of course

-- ----------------------------

INSERT INTO `course` VALUES ('1', '数学', '1');

INSERT INTO `course` VALUES ('2', '英语', '2');

INSERT INTO `course` VALUES ('3', '语文', '3');

-- ----------------------------

-- Table structure for `sc`

-- ----------------------------

DROP TABLE IF EXISTS `sc`;

CREATE TABLE `sc` (

`sid` int(11) NOT NULL DEFAULT '0',

`cid` int(11) NOT NULL DEFAULT '0',

`score` int(11) DEFAULT NULL,

PRIMARY KEY (`sid`,`cid`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- ----------------------------

-- Records of sc

-- ----------------------------

INSERT INTO `sc` VALUES ('1', '1', '60');

INSERT INTO `sc` VALUES ('1', '2', '70');

INSERT INTO `sc` VALUES ('1', '3', '80');

INSERT INTO `sc` VALUES ('2', '1', '90');

INSERT INTO `sc` VALUES ('2', '3', '85');

INSERT INTO `sc` VALUES ('3', '1', '90');

INSERT INTO `sc` VALUES ('3', '2', '80');

INSERT INTO `sc` VALUES ('3', '3', '50');

-- ----------------------------

-- Table structure for `student`

-- ----------------------------

DROP TABLE IF EXISTS `student`;

CREATE TABLE `student` (

`sId` int(11) NOT NULL AUTO_INCREMENT,

`sname` varchar(50) DEFAULT NULL,

`ssex` varchar(50) DEFAULT NULL,

PRIMARY KEY (`sId`)

) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8;

-- ----------------------------

-- Records of student

-- ----------------------------

INSERT INTO `student` VALUES ('1', 'tom1', '男');

INSERT INTO `student` VALUES ('2', '小张', '男');

INSERT INTO `student` VALUES ('3', '小王', '男');

-- ----------------------------

-- Table structure for `teacher`

-- ----------------------------

DROP TABLE IF EXISTS `teacher`;

CREATE TABLE `teacher` (

`tid` int(11) NOT NULL DEFAULT '0',

`tname` varchar(50) DEFAULT NULL,

PRIMARY KEY (`tid`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- ----------------------------

-- Records of teacher

-- ----------------------------

INSERT INTO `teacher` VALUES ('1', '李老师');

INSERT INTO `teacher` VALUES ('2', '王老师');

INSERT INTO `teacher` VALUES ('3', '张老师');

19.对于大型并发网络通信系统设计,需要考虑哪些方面(选做)?

1.静态资源:cdn,大带宽,缓存

2.动态资源:多开服务器,负载均衡,集群。

参考案例:http://www.infoq.com/cn/articles/weixin-bonus-load

20.如何提高大吞吐量数据插入数据库的效率(选做)?

1. 加大服务器内存,把大吞吐量数据涉及的表缓存在内存中,对库表的操作就变成了对内存的操作而不需要访问硬盘。因为硬盘的读写速度是机械运动的速度而内存读写的速度是电的速度, 它们的速度差别在1000倍以上.

2. 利用服务器端光标, 批量地刷新数据库.

21.对计算机哪一方面有深入研究,并简要说明(选做)?

深圳有为JAVA笔试的更多相关文章

  1. Java笔试面试题整理第八波

    转载至:http://blog.csdn.net/shakespeare001/article/details/51388516 作者:山代王(开心阳) 本系列整理Java相关的笔试面试知识点,其他几 ...

  2. Java笔试面试题整理第六波(修正版)

    转载至:http://blog.csdn.net/shakespeare001/article/details/51330745 作者:山代王(开心阳) 本系列整理Java相关的笔试面试知识点,其他几 ...

  3. Java笔试面试题整理第五波

    转载至:http://blog.csdn.net/shakespeare001/article/details/51321498 作者:山代王(开心阳) 本系列整理Java相关的笔试面试知识点,其他几 ...

  4. Java笔试面试题整理第四波

    转载至:http://blog.csdn.net/shakespeare001/article/details/51274685 作者:山代王(开心阳) 本系列整理Java相关的笔试面试知识点,其他几 ...

  5. Java笔试面试题整理第三波

    转载至:http://blog.csdn.net/shakespeare001/article/details/51247785 作者:山代王(开心阳) 本系列整理Java相关的笔试面试知识点,其他几 ...

  6. Java笔试面试题整理第二波

    转载至:http://blog.csdn.net/shakespeare001/article/details/51200163 作者:山代王(开心阳) 本系列整理Java相关的笔试面试知识点,其他几 ...

  7. Java笔试面试题整理第一波

    转载至:http://blog.csdn.net/shakespeare001/article/details/51151650 作者:山代王(开心阳) 本系列整理Java相关的笔试面试知识点,其他几 ...

  8. 应聘Java笔试时可能出现问题及其答案

    有感:应聘Java笔试时可能出现问题及其答案 huij 前段时间因为要参加一个笔试,在准备期间在网上找到了两条关于笔试题目的文章,其中一篇为<<有感:应聘Java笔试时可能出现问题> ...

  9. Java笔试面试题007

    Java笔试面试题007 1.请用正則表達式匹配出QQ号(如果QQ号码为5-10位). 解答: ^ \d{5,10}$ 2.String, StringBuffer StringBuilder的差别. ...

随机推荐

  1. 【分区】使用 GPT 分区表分区并格式化 (非 FreeBSD 系统)

    新购买的 Linux 云服务器,由于数据盘未做分区和格式化,无法使用. 注意: 数据盘中的数据在格式化后将全部被清空.请在格式化之前,确保数据盘中没有数据或已对重要数据进行备份.为避免服务发生异常,格 ...

  2. Python流程控制语句详解

    1.程序结构 计算机在解决问题时,分别是顺序执行所有语句.选择执行部分语句.循环执行部分语句,分别是:顺序结构.选择结构.循环结构.如下图: 2.选择语句 2.1最简单的if语句 Python使用保留 ...

  3. statsmodels中方差分析表结果解析

    引言 通常我们在对多个变量进行统计分析的时候,结果的汇总和整理需要耗费大量的时间和精力,稍有不慎还有可能出现错误.因此在对多个变量统计分析的时候,使用自动化的脚本对结果进行整理和汇总就十分的方便了. ...

  4. TensorFlow从0到1之XLA加速线性代数编译器(9)

    加速线性代数器(Accelerated linear algebra,XLA)是线性代数领域的专用编译器.根据 https://www.tensorflow.org/performance/xla/, ...

  5. 一文梳理JS事件

    JavaScript与HTML的交互是通过事件进行的.事件,就是文档或浏览器窗口发生的一些特定的交互瞬间. 事件流 事件捕获 事件冒泡 事件处理程序 事件委托 1. 事件流 如果单机页面上的某个按钮, ...

  6. 一个工作了四年的java程序员的心得体会

    年底了,该给自己写点总结了!从毕业到现在已经快4年啦,一直在Java的WEB开发行业混迹.我不是牛人,但是自我感觉还算是个合格的程序员,有必要写下自己将近4年来的经历,给自我以提示,给刚入行的朋友提供 ...

  7. drf-Authentication认证

    drf-Authentication认证 ## 源码分析 ```python """ 1)APIView的dispath(self, request, *args, ** ...

  8. 【Spring注解驱动开发】关于BeanPostProcessor后置处理器,你了解多少?

    写在前面 有些小伙伴问我,学习Spring是不是不用学习到这么细节的程度啊?感觉这些细节的部分在实际工作中使用不到啊,我到底需不需要学习到这么细节的程度呢?我的答案是:有必要学习到这么细节的程度,而且 ...

  9. Spring Boot是什么?

    背景 最近因公司需要,开始研究java相关的开发,之前一直从事.net相关开发,所以写的或者理解的不对的地方呢,希望大家批评指正. 首先开发框架吧,就像.net很早之前有asp.net webForm ...

  10. Java 添加、提取PDF中的图片

    Spire.Cloud.SDK for Java提供了PdfImagesApi接口可用于添加图片到PDF文档addImage().提取PDF中的图片extractImages(),具体操作步骤和Jav ...