东软集团面试题及答案

发布时间:2020-10-24 09:23:56   来源:文档文库   
字号:

东软集团面试题及答案

1堆和栈那个是对程序员透明的?

答案:栈。

2请结合具体实例阐述一下面向对象中"多态"的概念。

答案:同一操作用于不同的类的实例不同的类将进行不同的解释最后产生不同的结果它有两种

t编译时多态----通过overload来实现,系统在编译时根据传递 的参数和返回的类型等信息决定实现何种操作

t运行时多态----通过override来实现,根据运行时具体对象的类 型决定调用哪个方法。

给我面试的人很有亲和力,我没有感到有压力。

首先是自我介绍;他根据你自己介绍的情况来问你问题,我主要是

说得现在正在做的青软实训内部管理系统。

你在项目组里主要负责什么?是怎么做的?

主要负责页面前台展示,我现在设计页面框架,用的 Struts-tile;把页

面分为 4 B分,sidebar,header,footer,c on tex然 后把 sidebar,header,footer

这些每个页面都要用的写成一个整体, 放在配置文件中,每个页面都 引用他,这样就不用变了。变得就是 con text部分。另外在sidebar里 面,用javascript来实现导航栏的弹出功能。

用什么方法可以检测一个环行链表?

首先可以在 data 里面初始化一个数据,然后向下循环,可以找到这 条数据的话,就是环行链表,否则就不是; 但这个链表不一定是完全的链表,里面可能有分支,该怎么检测? 设置一个循环,条件设为true,如果可以结束就不是,不能结束里面 就有环。

那这样的话怎么让他跳出循环呢? 我也不知道,那请教一下吧。

你看看如果next引用如果相同的话是不是就是环行链表? 对,是那你想个办法来实现他吧。

把这个next引用,写进一个list,以后都把next引用和list里面的内 容进行比较,如果有相同的就是环,没有就不是。

但如果链表很大,而你做的是嵌入式项目,有内存溢出,该怎么检测 呢?

呵呵, 我想不出来了。

1

2. 自我介绍,(注 自我介绍中的自我经历可能会成为他的考点)

3. 我在自我介绍中说了我参加过数学建模, 他问了我我们建的什 么模型,我给他介绍了一下。主要考点是你的思路问题。

4. 单链表若最后一个节点指向前面的某个节点, 请问怎么检测出

现了环? 主要是考察你对问题有无解决方案,不对也无所谓,最后他一 定会把你难倒。怎么也要说上几句,不说那就 over 了。

5.Fi nal fin ally 的区别?

6.Java的垃圾回收机制

4 5 两题应该都会,我就不说了。

1 什么是 J2EEJ2SEJ2ME

这个就不用说了吧

2 什么是 EJB

也不用说了吧

3。 你做过哪些项目,负责该项目的哪个模块, M V还是C

我说我做过一个网上花店,负责管理员模块,然后简单说了一

下这个模块的各项功能,他让我说是 M V还是C,我说这个项目的 目的之一是让我门每个人对整个流程都有所锻炼,所以没有谁只做 M 或者V或者C, 一个人负责一个模块,然后做这个模块的全部。

4 我说我学到STRUT了,他问我ACTIONACTIONFOF是什么关系, 是一对一吗,是一个 ACTION一个ACTIONFORM,确定吗?

我说是的,确定一定以及肯定。因为一个ACTION标签里只有一 个NAMES性(他说这个我知道)。

5 学过日语啊,说个句子你翻译一下吧, @#$%#%$...

我也 @#$#@%$#%...后他说“恩,还懂点日语皮毛,学起来应 该快一些。”

技术上也就这些了,别的也没什么了,不知道为什么就问我这些,我 准备的那些他一个也没问着,可能我一开始说我正在学 J2EE把他

引向了这个方向,或者是我回答的太快了,时间太紧了。就这些。

东软面试总结:

1.问题:栈和队列的主要区别

答案:栈 后进先出;

队列 先进先出。

2.问题:完全二叉树的结构

答案:深度为k,有n个节点的二叉树,当且仅当其每一个节点 都与深度

k的满二叉树中编号从1n的结点 对应时,称之为完全

二叉树。

当初面试人员画了几个树让我辨认谁是完全二叉树。

3.问题:什么是索引

答案:索引依附于基表,建立索引是加快查询的有效手段。

4. 问题:什么是视图

答案:视图是关系数据库系统提供给用户以多角度观察数据库中

数据的重要机制。是从一个或多个基表(或视图)导出的表,它

与基本表不同,是虚表。

5. 问题:什么是游标

答案:游标是系统为用户开设的一个数据缓冲区,存放 SQL语句

的执行结果,每个游标区都有一个名字。用户可以通过游标逐一 获取记录,并赋给主变量,交由主语言进一步处理。

6.问题:对数据库操作的语句

答案select, insert, update, delete

7.问题:数据库的操作过程

答案:(1)加载驱动程序;(2)建立数据库连接;(3)向数据库 发送SQL语句;(4)事务处理;(5)管理连接。

8 问题:所知道的排序方法的种类

答案:插入,快速,选择,交换,归并,基数,希尔等。

9. 问题:什么是MVC

答案:这个大家都清楚,可查询有关资料。

1 首先得问题就是让我做自我介绍

答 当然就自己的大致情况说就行了,在这个过程中 又让我分析 自己的性格与优缺点。然后让说明自己的职业规划。这些都是因自己 而定了

2 做过的项目 简单介绍一下

答:做过的项目在来软件园之前没有多少机会 只有课程设计的时候 做过一个java聊天室的项目,然后来到软件园之后做过 jsp的产品 支持中心的例子,sruts的固定资产管理的例子,还有hibernate 的 例子,(可惜我都忘了竟然忘了那个项目的名字了,就是留言板的那

个,刚做完竟然忘了)。随后她又随便问我关于 java聊天室是不是 自己编协议实现的,当然没有。 随后让我讲一个项目,我就讲

了那个关于struts的项目。因为对方不懂struts,我讲也不知道她 听懂了没有。

3 问你几个c语言的问题,

char *p ; int i p++i++的区别?这个大家都知道就是 p++是 指向下一个元素,p的移动位置与p指针指向的类型有关,i++是自 身增加一。差不多就是这样说的。

p保存占多少位? 我开始说与它指向的类型有关,然后她提

示我说她不是那个意思,然后我说我感觉是在内存中占16位吧我是 这样说的,其实我也不清楚,c都忘了。

char *p=malloc 100),给p分配了多少个字节的空间?是堆内

存还是栈内存?

我回答100个,(但是我忘了是堆还是栈)我认为是堆内存。

4 一个程序编译完成后在内存中是如何存储的??

我说这个没有学过,我把我认为的说了一下,她说她就是随便问问。

5 java有多态性,继承,什么意思?是如何实现的?

(这个我虽然也知道大概但是好像理解的也不是太深刻,说不太清 晰)

答:我就说了前几天老师利用接口与 DAOFactory实现的那个例子, 她说那抽象类呢,我说不太上来但是也就我理解的说了点。 我又扯上

了重载,她就问重载是多态吗?我说不是(因为我记得不是),但是

可以实现多态。说得很乱

7. 最后就是随便聊了。 她问我怎么没有考研, 为什么?一个女生 为什么学软件?然后问我有没有什么问题,我就问了关于对日外 包的事情和关于东软的一些事情。

1.着装:是第一项。

2.英语水平 : 问:四级 539 分?答: 恩。

3.数据库:

问: Sql 语句是在 sql server 里写的还是在程序里

写的?

答:学数据库的时候,是在sql server里,

也在程序里写。

问:存储过程有没有用过 答:在个人网站里,用到过。

4.网络:

问:有没有socket编程的经验。

答: 在大三做过网络五子棋。

5.架构:

问 :三层架构 :是什么 ?

正确答案: web 服务器,数据库服务器,应

用程序服务器)

6.编程语言 :

问:Java学的怎么样?答:学了一个学期的课程 问:CC++挑一个你最好的。答:C++ C++ :问:面向对象的特点:解释一下什么继承, 多态。

答 :我在回答的时候, 是通过一个经典的 例子说的。

7.你的项目经验 :

问:是用什么开发的 ? 答: asp

8. 日语基础: 写一下五十音图 ,说一个存在句,说一 个判断句,说一个你学过的最复杂的句子。

首先,面试官对整个试卷的成绩做个一个评价。我的编程做了一个 java 和一个 c 语言的。面试官问我这两门语言那一门更熟悉, 我说 我是 .net 班的,相对来说对 C 语言相对熟悉一些。他接着问我什 么时候学的 C 语言,我说大一下学期,他问以后用的多吗?我说: 大二以后就不用了, 因为 C 的编程环境太单调了, 以后我们就用 C++ 代替了 C 语言。接着,面试官就以 VC++ 为切入点问我。问题可以 分为以下几个:

1 让我谈谈面向对象是怎样理解的?

2 谈谈类、子类的联系和区别。

3、谈谈继承、多态、封装、抽象、重载、虚函数、抽象类

4VC++ 中的 MFC 的理解,对 MFC 的理解程度?

答:我对 MFC 有一定的了解,因为里面的指针应用太过与 复杂, 我只是对里面的几个类如:视图类、文挡类,做了简单的 介绍。接着面试官就给我说学 VC 怎么能不理解 MFC 呢,他大 体的介绍了里面的内容, 并嘱咐我接下来的时间一定要抓紧这方面的 学习。

5、数据库学的怎么样?学的是什么数据库?

答:我说学的是关系型的数据库,以 SQLSERVER^主。首先, 问我对一条记录有几种操作方式。我回答是:查询、插入、删除、更 新。其次、有问了问里面的一些具体关键字的应用, 例如: having. in. with check option. 等等

6 为什么学习 .net 而不学习 java?

答:我说上个学期,学校开了 C# 对这门语言产生了很浓的兴 趣,所以四月份报名的时候就选择的 .net 方向。如果是 java 在先 的话,我可能就选择了 java 。接着,面试官说大型的项目都是用 java 开发的,要我以后向这方面靠一靠。

7 为什么选择国内解决方案?对这方面了解多少?对当今软件的发 展有什么看法(外包、国内)?

大体上就问了这么多,首先是面试管不是我想象中的那么 严肃,感觉就好象金澄老师一样, 让人感觉就像是自己的大哥在和自 己说话,所以整个过程中没有紧张。

每个公司的面试都各不相同,东软面试的问题同样具有一定的深 度、广度。

1.final 怎么用?

答: final 可以用在定义变量、方法以及类。

final 的变量必须要初始化,也可以将初始化的操作推到类的 静态块中进行, 而且这样的变量不能再被重新赋值, 可以将其看成这 个类的“常量”了。

final 的方法不能被所在的类的子类重写。

final 的类不能再被继承了。

2.那么finally 怎么用

finally 适合 try catch 块配合使用的。 finally 一般放一些

收尾的代码也就是说不管 try 块中的代码是否正常执行也不管 catch 块中的代码是否工作了finally 中的代码都要执行。比如, JDBC或是Hibernate中的关闭连接操作,就是放在fin ally 中执行

的。

3.wait 方法和 sleep 方法的区别? 答:他们都是用来堵塞、挂起当前线程的方法,大体上应该是 wait 方法可以释放原先占有的资源,而 sleep 方法好像不能 ... 在以前 的编写的代码中, 我几乎没有用过控制线程的操作, 这部分知识我确 实不敢随便说。

4.Java 中,是否有内存泄漏问题?

答:为什么会有“内存泄漏问题”呢, 主要是以前的一些编程语言, 如C C++等,因为存在指针变量,而且这些指针是可以进行运算的, 所以可能会产生“内存泄漏问题”。对于 Java 来说,尽管声称废除 了指针,但是每个类的实例的引用就是一种“指针”, 然而这些引用 是不支持运算的, 也就不存在内存地址混乱问题, 所以应该没有“内 存泄漏问题”。

5.Java 虚拟机的垃圾回收机制,是否真的不会有问题? 答:一个类的实例,如果长时间不用了,就可能被虚拟机垃圾回收

掉。但是具体的被回收的时间的长短、 具体什么时刻能被回收是不确 定的。一般情况下, 如果虚拟机认为当前可以使用的内存空间不多的 时候,就会进行垃圾回收。据我现在的知识,认为,虚拟机的垃圾回 收机制应该不会产生问题。

6.在平常的代码编写的过程中,有没有测试?一般怎样进行? 答:我平常写代码,也写一些测试程序,一般是使用 JUnit ,对编

写的DAC类进行各种功能操作,如保存、删除、添加等的测试.

(他又补充问道:你这是小部分的测试,我指的是“单元测试”) 我平常写的差不多就是这类的简单测试了, 还没有写一个功能强大 的、有较大实际使用价值的“单元测试”。

7.你在代码中,都是怎样对待异常情况的?

答:在绝大多数情况下,我都回知道哪些代码可能会抛出异常以及 会抛出什么样的异常。所以我也会针对不同类型方面的异常区分对 待。我一般会分成几类情况:一类是服务器崩溃等情况,是最严重的

异常了,没有什么可以挽救的余地,返回给用户“服务器维护中,暂

时无法使用”;一类是数据库操作失败等情况,比如 JDBC连接数据 库失败、 Hibernate 正常删除数据失败等,是属于意外情况,严重程 度稍微低一些,返回给用户“刚才由于网路不畅,导致操作失败,请 重新操作”, 同时,需要回滚的及时回滚; 再一类在实现有所准备的、 业务操作异常的情况, 比如登录密码错误、 新用户注册重名现象等等, 这些异常都是在意料之中、有所准备的。此时可以返回相关的提示, 严重程度相对比较的低。

8.说一下数据库表设置多个外键的事情 答:我以前设计的数据库表, 还没用多个外键的情况 . 从外键的定义

上说,一个表设置多个外键是完全可以的, 外键对应着相关表的主键, 内容只能是对应的主键的值。 如果对应的主键发生变化, 那么就要按 照当时定义外键时制定的规则对外键所在的纪录条进行保留、 删除或 是更新操作。

9.谈谈对CMM勺认识

答:CMM是一种开发的模式,正好我们做的一个项目就是按照 CMM3

勺基本要求做勺。 因为以前勺时候都是采用类似“快速”开发一样勺 方式,还快就会开始编码,但是 CMM要求每一步都要事先有一份完 整的文档,所以一开始,对这种整天只写文档,不写代码的模式不太 适应。随着项目的不断进行,才觉着 CMM的这种开发模式有许多的 优点和好处。 每做一步都有上一步的文档的支持, 保证了工作的一致 性和完整性。同时,因为是在统一的文档进行的工作,较容易了解的 项目的进展情况,便于对项目的监控。

10.别人的进度拖延了,影响到了你的进度,这种事情在实际情况下 经常有,你怎么处理?

答:我会直接找到这位(些)同事,了解情况,看看我是否能帮得 上忙。如果帮不上,问一下什么时候能够结束,调整一下自己的工作 安排,先做其它的一些和他们的进度联系不大的东西。 都是自己项目 组的同事,应该很好协调。

(如果是,别的项目组的进度影响到你呢?)

如果是别的组的人, 自己就不好直接找人家, 我会和项目组长说。 如果事情紧急,让项目组长带着我,我们一起与那个项目组进行沟通。

通过东软面试官所提的这些问题可以看出, 他们是从知识、 能力和意 识三个方面对面试者进行考查的。

1.知识类问题,比如 final finally wait sleep 等问题, 考察的就是基础知识,是什么就是什么,没有可以解释的余地。对于 这类的问题,只有靠自己的认真学习,才能答好。

2.能力类问题,比如内存泄露、垃圾回收、对待异常等问题,能 回答的非常完美当然很好, 但我们现在的所学能回答准确不好办。 所 以我认为,这类问题不能简单的回答“是”“不是”“能”“不 能”,应该把思考的思路表现给面试官,只要认可了我的思路,也就 基本的认可了这方面的能力了。

3.意识类问题,比如对CM啲认识、工作协调等问题,主要看对 某些方面认识有多深, 我认为能结合着自己的经历谈, 再加上阐述合 理,较容易得到面试官的认可。

SSHjava 基础, oracle

线程、 Socket Servlet Jsp j2SEjavaWeb

JAVA的多态,说一下STRUTS勺基本应用

笔试 专业知识 java 数据库基础知识 面试 java 理论 左链接右链接, decode 的用法, sendredirect forward 的区别(这 个我没回答上来,汗), servlet 的生命周期, doget dopost 的区 别

如何解析 xml int integer 的区别 javascript 如何 debug collectio collections

map

jsp 链接数据库

sql 语句大全

cooki session

final finally finallize run Runnable

垃圾回收机制

本文来源:https://www.2haoxitong.net/k/doc/11aa2696f58a6529647d27284b73f242336c31bf.html

《东软集团面试题及答案.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式