当前位置 : 主页 > 编程语言 > java >

Java中级开发工程师 面试题?

来源:互联网 收集:自由互联 发布时间:2022-08-10
Java中级开发工程师 面试题? 注意事项 本线上笔试题主要是考察应聘人员的编码规范、代码设计能力,非单纯考察程序结果是否符合要求; 请务必不要在网上抄摘相关代码; 试题一


Java中级开发工程师 面试题?

注意事项

  • 本线上笔试题主要是考察应聘人员的编码规范、代码设计能力,非单纯考察程序结果是否符合要求;
  • 请务必不要在网上抄摘相关代码;

试题一

/**
* 实现要求:
* 1、根据已有的代码片段,创建二叉搜索树;
* 2、用中序遍历输出排序结果,结果形如:0,1,2 ,3 ,4, 5, 6, 7, 8, 9,
* 3、使用递归、非递归二种方式实现遍历;
* 4、注意编写代码注释。
*/

public static void main(String[] args) {

final int[] values = { 1, 3, 4, 5, 2, 8, 6, 7, 9, 0 };

System.out.println("Create BST: ");
Node root = createBinaryTree(values);

System.out.println("Traversing the BST with recursive algorithm: ");
inOrderTransvalWithRecursive(root);

System.out.println("Traversing the BST with iterative algorithm: ");
inOrderTransvalWithIterate(root);
}

// 构建二叉树
public static Node createBinaryTree(int[] values) {
// TODO:
}

// 递归实现
public static void inOrderTransvalWithRecursive(Node node) {
// TODO:
}

// 非递归实现
public static void inOrderTransvalWithIterate(Node root) {
// TODO:
}
}

试题二

/**
* 实现要求:
* 1、根据代码片段实现一个简单的SOCKET ECHO程序;
* 2、接受到客户端连接后,服务端返回一个欢迎消息;
* 3、接受到"bye"消息后, 服务端返回一个结束消息,并结束当前连接;
* 4、采用telnet作为客户端,通过telnet连接本服务端;
* 5、服务端支持接受多个telnet客户端连接;
* 6、服务端支持命令操作,支持查看当前连接数、断开指定客户端连接;
* 7、注意代码注释书写。
*
*/
public class EchoApplication {

public static void main(String[] args) throws IOException, InterruptedException {

final int listenPort = 12345;

// 启动服务端
EchoServer server = new EchoServer(listenPort);
server.startService();

// 服务端启动后,运行结果示例:
/**
java -cp ./classes EchoApplication

2020-03-31 16:58:44.049 - Welcome to My Echo Server.(from SERVER)
The current connections:
Id. Client LogonTime
-----------------------------------------------------
1 127.0.0.1:32328 2020-03-31 16:59:13
2 127.0.0.1:43434 2020-03-31 17:03:02
3 127.0.0.1:39823 2020-03-31 07:03:48

Enter(h for help): h
The commands:
----------------------------------------------------
q query current connections
d id disconnect client
x quit server
h help

Enter(h for help): d 1
2020-03-31 16:58:44.049 - The connection '127.0.0.1:32328' has been disconnected.
The current connections:
Id. Client LogonTime
-----------------------------------------------------
1 127.0.0.1:43434 2020-03-31 17:03:02
2 127.0.0.1:39823 2020-03-31 07:03:48

Enter(h for help): x
2020-03-31 16:58:44.049 - The server has exited. Bye!
*/

// 在telnet控制台输入,服务端直接原文返回输入信息
// 客户端结果示例:
/**
2020-03-31 16:58:44.049 - Welcome to My Echo Server.(from SERVER)

Enter: hello!
2020-03-31 16:58:55.452 - hello!(from SERVER)

Enter: This is KOAL.
2020-03-31 16:59:06.565 - This is KOAL.(from SERVER)

Enter: What can i do for you?
2020-03-31 16:59:12.828 - What can i do for you?(from SERVER)

Enter: bye!
2020-03-31 16:59:16.502 - Bye bye!(from SERVER)
*/
}

}

class EchoServer {
// TODO
}

试题三

/**
* 实现要求:
* 1、根据代码片段,参考log4j/slf4j等公共日志库,编写一个自定义的简易日志类;
* 2、至少支持文件输出、控制台输出二种日志输出方式,支持同时输出到文件和控制台;
* 3、支持DEBUG/INFO/WARN/ERROR四种日志级别;
* 4、请合理进行设计模式,进行接口类、抽象类等设计;
* 5、注意代码注释书写。
*/

public class KLLogger {

public static void main(String[] args) {

final KLLogger logger = KLLogger.getLogger(KLLogger.class);

// TODO
logger.setAppender(...);

logger.setLogLevel(DebugLevel.DEBUG);
logger.debug("debug 1...");
logger.info("info 1...");
logger.warn("warn 1...");
logger.error("error 1...");

// TODO
logger.setAppender(...);

logger.setLogLevel(DebugLevel.ERROR);
logger.debug("debug 2...");
logger.info("info 2...");
logger.warn("warn 2...");
logger.error("error 2...");

}
}

// TODO:
class XXX1 {
}

// TODO:
class XXX2 {
}

enum DebugLevel {
DEBUG, INFO, WARN, ERROR;
}

Java中级开发工程师 面试题?_客户端

有点狠啊,这只是一面的面试题!!!


上一篇:Java日志格式规范
下一篇:没有了
网友评论