软通面试题目及面试答案
软通面试答案,里面有我去软通面试的题目和答案供有需要帮助的朋友提供帮助 14 .关于 ArrayList 答案: ordered no sorttrd 并且是按照 index 排 15- 如何从 ArrayList 里取对象? 用 get(int index) 这个方法。 根据提供的文件信息,我们可以整理出以下几个关键的知识点: ### 1. Java 抽象类与抽象方法 **问题**: 下列代码片段是否正确? ```java class A { abstract int getAge(); } class B extends A { int getAge() { return 2; } } ``` **答案**: 不正确,因为类 `A` 中声明了一个抽象方法 `getAge()`,而在继承自 `A` 的类 `B` 中实现了该方法,但是没有将 `A` 定义为抽象类,这会导致编译错误。 **解析**: - **抽象类**: 在 Java 中,如果一个类包含一个或多个抽象方法,则该类必须被声明为抽象类。抽象类不能被实例化。 - **抽象方法**: 抽象方法是没有方法体的方法,即在声明时没有给出实现,通常用于父类中声明方法的签名,由子类来具体实现。 ### 2. 数据库中的主键与外键 **概念**: - **主键** (Primary Key): 指的是表中的一个或一组字段,其值能够唯一标识表中的每一行记录。主键不允许为空值。 - **外键** (Foreign Key): 是用来建立两个表数据之间的连接的键。外键的值可以是另一个表的主键值,也可以为空值(NULL)。 **示例**: - 假设有一个表 `Customer`,包含字段 `id`(主键)、`firstName` 和 `lastName`。 - 另一个表 `Orders` 包含字段 `orderId`(主键)、`customerId`(外键,对应 `Customer` 表的 `id`)等。 - 在 `Orders` 表中,`customerId` 可以为 NULL,表示没有对应的客户。 ### 3. ServletContext 与 Context Param **概念**: - **ServletContext**: ServletContext 对象代表整个 Web 应用的上下文环境。它提供了对整个应用范围内的属性进行操作的功能。 - **Context Param**: Context Param 是配置在 web.xml 文件中的全局参数设置,可以在整个 Web 应用程序中访问。 **访问方式**: 1. **通过 ServletContext 获取**: ```java String value = getServletContext().getInitParameter("param_name"); ``` 2. **在 Listener 中访问**: - 在 `contextInitialized` 方法中可以通过 `ServletContextEvent` 获取 `ServletContext` 对象,并从中获取初始化参数。 - 示例代码: ```java ServletContext context = ServletContextEvent.getServletContext(); String paramValue = context.getInitParameter("context-param_name"); ``` ### 4. 网站安全与 HTTPS **概念**: - **HTTPS** (Hypertext Transfer Protocol Secure): 安全超文本传输协议,是一种加密的 HTTP 协议,主要用于保障网站的数据传输安全。 - 使用 HTTPS 可以防止数据被窃听、篡改和伪造。 ### 5. Web 应用程序资源路径 **资源路径**: - `/context/a.jsp`: 直接位于 Web 应用根目录下的 JSP 文件。 - `/context/WEB-INF/a.jsp`: 位于 WEB-INF 目录下的 JSP 文件,该目录下的资源仅对服务器可见,不能通过 URL 直接访问。 **有效路径**: - A: `/context/a.jsp` —— 有效 - D: `/context/b.xml` —— 有效 **无效路径**: - B: `/context/WEB-INF/a.jsp` —— 无效(WEB-INF 目录下的资源不能直接通过 URL 访问) - C: `/context/WEB-INF/b.xml` —— 无效(同上) ### 6. SQL 插入语句与主键约束 **插入示例**: - 表 `customer` 包含字段 `id`(主键)、`firstName` 和 `lastName`。 - 合法的 SQL 语句包括: - `INSERT INTO customer (id, firstName) VALUES (11, 'sss');` - `INSERT INTO customer (id, firstName, lastName) VALUES (11, 'sss', 'aaa');` - 不合法的 SQL 语句包括: - `INSERT INTO customer (firstName) VALUES ('sss');` (缺少主键) - `INSERT INTO customer (id, firstName, lastName) VALUES (11, 'sss');` (缺少一个值) ### 7. SQL 中的 COUNT 函数 **示例**: - 假设有表 `tb` 包含字段 `A`、`B`、`C`,其中 `C` 字段不为空的记录数量为 1。 - SQL 查询语句 `SELECT COUNT(*) FROM tb WHERE C <> NULL;` 将返回 1。 ### 8. SQL 删除语句 **示例**: - 正确的删除语句为 `DELETE FROM guest WHERE id = 11;`。 - 错误的删除语句为 `DELETE * FROM guest WHERE id = 11;`,因为 `DELETE` 语句后面不应跟 `*`。 ### 9. Java 位运算符 **示例**: ```java public class Test { public static void main(String[] args) { int a = 1; // 二进制: 0001 int b = 2; // 二进制: 0010 int c = a | b; // 结果为: 0011, 即 3 } } ``` 以上总结了面试题目中的主要知识点及其解释。这些知识点涵盖了 Java 编程的基础概念、数据库设计原则以及 Web 开发的基本知识,对于准备 IT 面试的人来说非常有用。
- smallidea2013-10-09软通的面试似乎没有这么复杂吧!
- huangjoy032016-04-20还不错,正好能用上!
- fayu20122012-07-15有用 面试的时候遇到过类似题目
- 粉丝: 0
- 资源: 14
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助