中软面试精华:JNDI连接、链表逆序与ATM测试问题详解

需积分: 10 5 下载量 164 浏览量 更新于2024-10-12 收藏 74KB DOC 举报
在本文档中,我们探讨了中国软件(中软)在面试过程中可能涉及的一些技术题目,主要集中在Web开发和数据库管理方面。首先,对于Servlet编程的题目,面试者被要求编写一个Servlet,实现从JNDI数据源(如"jdbc/db2DataSource")获取数据库连接,执行SQL查询并将其结果写入文本文件,同时将请求转发到指定的jsp页面。在实际操作中,不同的应用服务器(如Tomcat、WebLogic、JBoss和Websphere)处理JNDI资源的方式略有差异,考生需了解不同环境下的配置。 接着,面试者被问及链表逆序的问题,要求使用冒泡法进行排序。冒泡排序是一种简单的排序算法,其基本思想是重复遍历待排序的列表,每次比较相邻元素,如果它们的顺序错误就交换位置,直到整个列表都没有再需要交换的位置,从而完成排序。 在问题中还提到了ATM机的测试,特别是对出栈和入栈操作的验证,以及如何测试和解决网络故障。对于ATM机的测试,除了常规的功能性测试外,还会关注输入和输出流程的正确性,以及在网络异常情况下系统的恢复机制。 此外,面试者被问及避免死锁的方法和银行家算法。虽然面试官指出死锁是难以完全避免的,但会考察候选人在设计多线程系统时如何降低死锁发生的可能性,比如使用超时机制、避免循环等待资源等。银行家算法则是一种经典的并发资源分配策略,用于预防死锁。 另一个问题涉及到Sybase数据库,其中区分了数据库用户和注册用户的概念。在Sybase中,注册用户可以登录服务器,而数据库用户则是针对特定数据库权限的分配,必须先成为注册用户并赋予相应权限才能访问数据库资源。 最后,面试者被要求在MSSQL_Server数据库中实现实体完整性。这可以通过创建唯一索引、设置PRIMARY KEY约束、UNIQUE约束,或者利用外键约束来确保数据的一致性和完整性。 这些题目涵盖了Web开发、数据结构、数据库管理、并发控制和系统测试等多个方面,旨在评估应聘者的理论知识、编程能力以及问题解决策略。