亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

持續輸出面試題系列之綜合面試題(一)

標簽:
Java

选择题

在Java 中,负责对字节代码解释执行的是
A. 应用服务器
B. 虚拟机
C. 垃圾回收器
D. 编译器

解析: B,Java程序从源文件创建到程序运行要经过两个步骤:
①编译:源文件由编译器编译成字节码(ByteCode)
②运行:字节码由java虚拟机解释运行。因为java程序既要编译同时也要经过JVM的解释运行,所以说Java被称为半解释语言( “semi-interpreted” language)。

一个栈的输入序列为 1 2 3 4 5, 则下列序列中不可能是栈输出的序列的是
A. 5 4 1 3 2
B. 2 3 4 1 5
C. 1 5 4 3 2
D. 2 3 1 4 5

解析: A,栈的特点是先进后出,比较笨的方法是一个个的试:
B:先进1和2,2出栈进入3,3出栈,进入4,4出栈,1再出栈,5进,5出栈,即23415
C:1进,1出,2345进,然后5432出,就是15432
D:进1和2,2出栈进入3,3出栈,进入4,在进入5,5出,4在出,就是23145

下列那一个选项按照顺序包括了OSI 模型的 7个层次
A. 物理层 数据链路层 传输层 网络层 会话层 表示层 应用层
B. 物理层 数据链路层 会话层 网络层 传输层 表示层 应用层
C. 物理层 数据链路层 网络层 传输层 会话层 表示层 应用层
D. 网络层 传输层 物理层 数据链路层 会话层 表示层 应用层

解析: C

当客户度关闭一个从连接池中获取的连接, 会发生下面哪一种情况
A. 连接不会关闭, 只是简单地归还给连接池
B. 连接被关闭 , 但又被重新打开并归还给连接池
C. 连接永久性关闭

解析:A

在UML 提供的图中 , 用于按数据顺序描述对象间的交互的是: C
A. 协作图
B. 网络图
C. 序列图
D. 状态图

解析: C

简答题:

MySQL中的varchar和char有什么区别?

  • char是一个定长字段,假如申请了char(10)的空间,那么无论实际存储多少内容。该字段都占用10个字符
  • varchar是变长的,也就是说申请的只是最大长度,占用的空间为实际字符长度+1,最后一个字符存储使用了多长的空间。

在检索效率上来讲,char > varchar,因此在使用中,如果确定某个字段的值的长度,可以使用char,否则应该尽量使用varchar。例如存储用户MD5加密后的密码,则应该使用char。

编程题:

用 1,2 , 2 ,3, 4 ,5 这 6 个数字, 用 Java写一个main 函数, 打印出所有不同的排列,
如:512234, 412345 等, 要求: “4” 不能在第三位, “ 3” 与” 5” 不能相连

package com.hcx.security.core.validate.code;

import java.util.Iterator;
import java.util.TreeSet;

public class NumberRandom {
	String[] stra = { "1", "2", "2", "3", "4", "5" };
	int n = stra.length;
	boolean[] visited = new boolean[n];
	String result = "";
	TreeSet<String> ts = new TreeSet<String>();
	int[][] a = new int[n][n];

	private void searchMap() {
		for (int i = 0; i < n; i++) {
			for (int j = 0; j < n; j++) {
				if (i == j) {
					a[i][j] = 0;
				} else {
					a[i][j] = 1;
				}
			}
		}
		// 3 和 5 不能相连
		a[3][5] = 0;
		a[5][3] = 0;
		// 开始遍历
		for (int i = 0; i < n; i++) {
			search(i);
		}
		Iterator<String> it = ts.iterator();
		while (it.hasNext()) {
			String str = it.next();
			// 4 不能在第三位
			if (str.indexOf("4") != 2) {
				System.out.println(str);
			}
		}
	}

	private void search(int startIndex) {
		visited[startIndex] = true;
		result = result + stra[startIndex];
		if (result.length() == n) {
			ts.add(result);
		}
		for (int j = 0; j < n; j++) {
			if (a[startIndex][j] == 1 && visited[j] == false) {
				search(j);
			} else {
				continue;
			}
		}
		// 一个 result 结束后排掉最后一个,寻找别的可能性,若没有的话,则继续向前排掉当前最后一个
		result = result.substring(0, result.length() - 1);
		visited[startIndex] = false;
	}

	public static void main(String[] args) {
		new NumberRandom().searchMap();
	}
}
點擊查看更多內容
TA 點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優質文章

正在加載中
JAVA開發工程師
手記
粉絲
8
獲贊與收藏
10

關注作者,訂閱最新文章

閱讀免費教程

  • 推薦
  • 評論
  • 收藏
  • 共同學習,寫下你的評論
感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消