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

简介: 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;
}


2.png

相关实践学习
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
目录
相关文章
|
6月前
|
安全 前端开发 Java
《深入理解Spring》:现代Java开发的核心框架
Spring自2003年诞生以来,已成为Java企业级开发的基石,凭借IoC、AOP、声明式编程等核心特性,极大简化了开发复杂度。本系列将深入解析Spring框架核心原理及Spring Boot、Cloud、Security等生态组件,助力开发者构建高效、可扩展的应用体系。(238字)
|
7月前
|
算法 Java
50道java集合面试题
50道 java 集合面试题
|
7月前
|
消息中间件 人工智能 Java
抖音微信爆款小游戏大全:免费休闲/竞技/益智/PHP+Java全筏开源开发
本文基于2025年最新行业数据,深入解析抖音/微信爆款小游戏的开发逻辑,重点讲解PHP+Java双引擎架构实战,涵盖技术选型、架构设计、性能优化与开源生态,提供完整开源工具链,助力开发者从理论到落地打造高留存、高并发的小游戏产品。
|
9月前
|
Java 数据库连接 数据库
Java 相关知识点总结含基础语法进阶技巧及面试重点知识
本文全面总结了Java核心知识点,涵盖基础语法、面向对象、集合框架、并发编程、网络编程及主流框架如Spring生态、MyBatis等,结合JVM原理与性能优化技巧,并通过一个学生信息管理系统的实战案例,帮助你快速掌握Java开发技能,适合Java学习与面试准备。
419 2
Java 相关知识点总结含基础语法进阶技巧及面试重点知识
|
8月前
|
JavaScript 安全 前端开发
Java开发:最新技术驱动的病人挂号系统实操指南与全流程操作技巧汇总
本文介绍基于Spring Boot 3.x、Vue 3等最新技术构建现代化病人挂号系统,涵盖技术选型、核心功能实现与部署方案,助力开发者快速搭建高效、安全的医疗挂号平台。
413 3
|
8月前
|
安全 Java 数据库
Java 项目实战病人挂号系统网站设计开发步骤及核心功能实现指南
本文介绍了基于Java的病人挂号系统网站的技术方案与应用实例,涵盖SSM与Spring Boot框架选型、数据库设计、功能模块划分及安全机制实现。系统支持患者在线注册、登录、挂号与预约,管理员可进行医院信息与排班管理。通过实际案例展示系统开发流程与核心代码实现,为Java Web医疗项目开发提供参考。
403 2
|
7月前
|
存储 Java 关系型数据库
Java 项目实战基于面向对象思想的汽车租赁系统开发实例 汽车租赁系统 Java 面向对象项目实战
本文介绍基于Java面向对象编程的汽车租赁系统技术方案与应用实例,涵盖系统功能需求分析、类设计、数据库设计及具体代码实现,帮助开发者掌握Java在实际项目中的应用。
305 0
|
7月前
|
算法 Java
50道java基础面试题
50道java基础面试题