面试题记录two

1.以下代码的运行结果是

public static void main(String[] args) {
        ArrayList<Integer> integers = new ArrayList<Integer>() ;
        integers.add(2);
        integers.add(4);
        integers.add(1);
        integers.add(3);
        integers.add(5);
        for (int i = 0; i <integers.size() ; i++) {
            if (integers.get(i)%2==0){
                integers.remove(integers.get(i));
            }
        }
        System.out.println(integers);
    }

不是1,3,5 是4,1,3,5(当第一个2被移除后,4会第一个,不会被比较移除。惊喜意外...)
2.求运行结果

public class Demo {
    class Super {
        int flag=1;
        Super(){
            test();//2步,此处调用了一个test(),虽然子类和父类中都有test()但是会优先调用子类
        }
        void test(){
            System.out.println("Super.test() flag="+flag);
        }
    }
    class Sub extends Super{
        Sub(int i){//4步,3执行完后调用子类构造器
            flag=i;
            System.out.println("Sub.sub() flag="+flag);
        }

        void test() {//3步
            System.out.println("Sub.test() flag="+flag);
        }
    }

    public static void main(String[] args) {
        new Demo().new Sub(5);//1步,new的子类,但是子类继承了父类,
//会先访问父类的无参构造方法
    }
}

Sub.test() flag=1
Sub.sub() flag=5

3.java体系结构包括四个方面:

java程序设计语言

java class文件格式

java API

java 虚拟机

4.下列哪些语法结构是正确的

public class Demo extends B implements A
public class Demo  implements A,B

5.下面哪些情况可以引发异常

A.数组越界
B.指定url不存在
C.使用throw语句抛出
D.使用throw语句

ABC

6.面向对象优点

1、易维护
采用[面向对象思想](https://www.baidu.com/s?wd=%E9%9D%A2%E5%90%91%E5%AF%B9%E8%B1%A1%E6%80%9D%E6%83%B3&tn=SE_PcZhidaonwhc_ngpagmjz&rsv_dl=gh_pc_zhidao)设计的结构,可读性高,由于继承的存在,即使改变需求,那么维护也只是在局部模块,所以维护起来是非常方便和较低成本的。
2、质量高
在设计时,可重用现有的,在以前的项目的领域中已被测试过的类使系统满足业务需求并具有较高的质量。
3、效率高
在软件开发时,根据设计的需要对现实世界的事物进行抽象,产生类。使用这样的方法解决问题,接近于日常生活和自然的思考方式,势必提高软件开发的效率和质量。
4、易扩展
由于继承、封装、多态的特性,自然设计出高内聚、低耦合的系统结构,使得系统更灵活、更容易扩展,而且成本较低。

7.下列哪些方法可以获取cookis

A.request.getAttribute
B.request.getHeader
C.request.getParameter
D.request.getCookies



A. request.getAttribute:getAttribute是在服务器端的操作。
比如说 request.setAttribute(k,v),其行为动作在服务器端。
而在服务端放入cookies是通过response.addCookie(cookie)。因此,A错了

B. Accept 浏览器可接受的MIME类型
Accept-Charset 浏览器支持的字符编码
Accept-Encoding 浏览器知道如何解码的数据编码类型(如 gzip)。Servlets 可以预先检查浏览器是否支持gzip并可以对支持gzip的浏览器返回gzipped的HTML页面,并设置Content-Encoding回应头(response header)来指出发送的内容是已经gzipped的。在大多数情况下,这样做可以加快网页下载的速度。
Accept-Language 浏览器指定的语言,当Server支持多语种时起作用。
Authorization 认证信息,一般是对服务器发出的WWW-Authenticate头的回应。
Connection 是否使用持续连接。如果servlet发现这个字段的值是Keep-Alive,或者由发出请求的命令行发现浏览器支持 HTTP 1.1 (持续连接是它的默认选项),使用持续连接可以使保护很多小文件的页面的下载时间减少。
Content-Length (使用POST方法提交时,传递数据的字节数)
Cookie (很重要的一个Header,用来进行和Cookie有关的操作,详细的信息将在后面的教程中介绍)
Host (主机和端口)
If-Modified-Since (只返回比指定日期新的文档,如果没有,将会反回304 "Not Modified")
Referer (URL)
User-Agent (客户端的类型,一般用来区分不同的浏览器)

C.request.getParameter()方法获取从客户端中通过get 或者post方式传送到服务器端的参数。行为操作在服务器端。所以cookies明显不是通过url或者form表单提交过来的。C错

D.看方法名字就行了。

BD

8.下列错误的是

A.一个类可以有多个基类和多个基接口
B.抽象类自身可以定义成员而接口不可以
C.抽象类和接口都不能被实例化
D.类不可以多重继承而接口可以

C抽象类是可以实例化的,接口不可以

9.有关线程说法正确的是( )

A线程是程序的多个顺序的流动态执行 
B  线程有自己独立的地址空间 
C 线程不能够独立执行,必须依存在应用程序中,由应用程序提供多个线程执行控制 
D  线程是系统进行资源分配和调度的一个独立单位 

进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,是操作系统进行资源分配和调度的一个独立单位;

线程是进程的一个实体,一个进程中包含多个线程。是CPU调度和分派的基本单位,是比进程更小的能独立运行的基本单位

B进程有独立的地址空间,线程没有。线程是共享进程的地址空间,因此B错误

D进程是 操作系统进行资源分配和调度的一个独立单位,而线程只是CPU调度和分派的基本单位,因此D错误

AC

10.下面关于数据库唯一索引正确的是( )?

A.表可以包含多个唯一约束,但只能有一个主键
B.唯一约束列可以包含null值
C.唯一约束列可修改和更新
D.唯一约束不能用来定义外键

正确答案:A B C

11.Redis支持五种数据类型:
string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合)。

12关于OutOfMemoryError,下面说法正确的是()?

A.java.lang.OutOfMemoryError: PermGen space 增加-XX:MaxPermSize这个参数的值的话,这个问题通常会得到解决。 

B.java.lang.OutOfMemoryError: Requested array size exceeds VM limit当你正准备创建一个超过虚拟机允许的大小的数组时,这条错误将会出现 

C.java.lang.OutOfMemoryError: Java heap space 一般情况下解决这个问题最快的方法就是通过-Xmx参数来增加堆的大小 

D.java.lang.OutOfMemoryError: nativeGetNewTLA这个异常只有在jRockit虚拟机时才会碰到 

ABC

13.写两个线程,一个线程打印1 ~ 52,另一个线程打印A ~ Z,打印顺序是
12A34B....5152Z

package www.java.test;

class Print{
    int flag = 1;
    int count = 1;
    public synchronized void printNum(){
        while(flag != 1){
            //此时应该打印字母,让打印数字线程等待
            try {
                wait();
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        }
        //打印数字
        System.out.print(2*count - 1);
        System.out.print(2*count);
        flag = 2;
        notify();
    }
    public synchronized void printChar(){
        while(flag != 2){
            //此时应该打印数字,字母打印线程等待
            try {
                wait();
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        }
        System.out.print((char)(count-1 + 'A'));
        //继续前行
        count++;
        flag = 1;
        notify();
    }
}
public class Test{
    public static void main(String[] args) {
        Print print = new Print();
        new Thread(()->{
            for(int i = 0; i < 26; i++){
                print.printNum();
            }
        }).start();
        new Thread(()->{
            for(int i = 0; i < 26; i++){
                print.printChar();
            }
        }).start();
    }
}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 160,881评论 4 368
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 68,052评论 1 301
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 110,598评论 0 250
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,407评论 0 217
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,823评论 3 294
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,872评论 1 224
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 32,037评论 2 317
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,778评论 0 204
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,505评论 1 247
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,745评论 2 253
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,233评论 1 264
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,568评论 3 260
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,231评论 3 241
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,141评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,939评论 0 201
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,954评论 2 283
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,784评论 2 275

推荐阅读更多精彩内容

  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 11,041评论 1 32
  • 一、Python简介和环境搭建以及pip的安装 4课时实验课主要内容 【Python简介】: Python 是一个...
    _小老虎_阅读 5,620评论 0 10
  • 一、基础知识:1、JVM、JRE和JDK的区别:JVM(Java Virtual Machine):java虚拟机...
    杀小贼阅读 2,334评论 0 4
  • 小编费力收集:给你想要的面试集合 1.C++或Java中的异常处理机制的简单原理和应用。 当JAVA程序违反了JA...
    八爷君阅读 4,489评论 1 114
  • Lua 5.1 参考手册 by Roberto Ierusalimschy, Luiz Henrique de F...
    苏黎九歌阅读 13,519评论 0 38