logo资料库

东软面试题汇总.pdf

第1页 / 共64页
第2页 / 共64页
第3页 / 共64页
第4页 / 共64页
第5页 / 共64页
第6页 / 共64页
第7页 / 共64页
第8页 / 共64页
资料共64页,剩余部分请下载后查看
30 天学不会英语 无效退款 宫方网站 www.28k.cn 东软面试试题汇总 1 堆和栈那个是对程序员透明的? 答案:栈。 2 请结合具体实例阐述一下面向对象中"多态"的概念。 答案:同一操作用于不同的类的实例,不同的类将进行不同的解释,最后产生不同的结果,它有两种: →编译时多态---- 通过 overload 来实现,系统在编译时,根据传递的参数和返回的类型等信息决定实现何 种操作 →运行时多态---- 通过 override 来实现,根据运行时具体对象的类型决定调用哪个方法。 给我面试的人很有亲和力,我没有感到有压力。 首先是自我介绍;他根据你自己介绍的情况来问你问题,我主要是说得现在正在做的青软实训内部管理系 统。 你在项目组里主要负责什么?是怎么做的? 主 要 负 责 页 面 前 台 展 示 , 我 现 在 设 计 页 面 框 架 , 用 的 Struts-tile; 把 页 面 分 为 4 部 分 , sidebar,header,footer,context;然后把 sidebar,header,footer 这些每个页面都要用的写成一个整体,放在配置文 件中,每个页面都引用他,这样就不用变了。变得就是 context 部分。另外在 sidebar 里面,用 javascript 来 实现导航栏的弹出功能。 用什么方法可以检测一个环行链表? 首先可以在 data 里面初始化一个数据,然后向下循环,可以找到这条数据的话,就是环行链表,否则就不 是; 但这个链表不一定是完全的链表,里面可能有分支,该怎么检测? 设置一个循环,条件设为 true,如果可以结束就不是,不能结束里面就有环。 那这样的话怎么让他跳出循环呢? 我也不知道,那请教一下吧。 你看看如果 next 引用如果相同的话是不是就是环行链表? 对,是 那你想个办法来实现他吧。 把这个 next 引用,写进一个 list,以后都把 next 引用和 list 里面的内容进行比较,如果有相同的就是环,没 有就不是。 但如果链表很大,而你做的是嵌入式项目,有内存溢出,该怎么检测呢? 呵呵, 我想不出来了。 1. 2. 自我介绍,(注 自我介绍中的自我经历可能会成为他的考点) 3. 我在自我介绍中说了我参加过数学建模,他问了我我们建的什么模型,我给他介绍了一下。主要考点 是你的思路问题。 4. 单链表若最后一个节点指向前面的某个节点,请问怎么检测出现了环? 主要是考察你对问题有无解决方案,不对也无所谓,最后他一定会把你难倒。怎么也要说上几句,不 说那就 over 了。 5. Final 和 finally 的区别? 6. Java 的垃圾回收机制? 4 5 两题应该都会,我就不说了。 30 天学不会英语 无效退款 宫方网站 www.28k.cn
30 天学不会英语 无效退款 宫方网站 www.28k.cn 1。什么是 J2EE,J2SE,J2ME 这个就不用说了吧 2。什么是 EJB 也不用说了吧 3。你做过哪些项目,负责该项目的哪个模块,M、V 还是 C 我说我做过一个网上花店,负责管理员模块,然后简单说了一下这个模块的各项功能,他让我说是 M、V 还是 C,我说这个项目的目的之一是让我门每个人对整个流程都有所锻炼,所以没有谁只做 M 或者 V 或者 C, 一个人负责一个模块,然后做这个模块的全部。 4。我说我学到 STRUTS 了,他问我 ACTION 和 ACTIONFORM 是什么关系,是一对一吗,是一个 ACTION 一个 ACTIONFORM 吗,确定吗? 我说是的,确定一定以及肯定。因为一个 ACTION 标签里只有一个 NAME 属性(他说这个我知道)。 5。学过日语啊,说个句子你翻译一下吧,@#$%#%$... 我也@#$#@%$#%...然后他说“恩,还懂点日语皮毛,学起来应该快一些。” 技术上也就这些了,别的也没什么了,不知道为什么就问我这些,我准备的那些他一个也没问着,可能我 一开始说我正在学 J2EE,把他引向了这个方向,或者是我回答的太快了,时间太紧了。就这些。 东软面试总结: 1. 问题:栈和队列的主要区别 答案:栈----------后进先出; 队列--------先进先出。 2. 问题:完全二叉树的结构 答 案 : 深 度 为 k , 有 n 个 节 点 的 二 叉 树 , 当 且 仅 当 其 每 一 个 节 点 都 与 深 度 为 k 的满二叉树中编号从 1 至 n 的结点一一对应时,称之为完全二叉树。 当初面试人员画了几个树让我辨认谁是完全二叉树。 3. 问题:什么是索引 答案:索引依附于基表,建立索引是加快查询的有效手段。 4. 问题:什么是视图 答案:视图是关系数据库系统提供给用户以多角度观察数据库中数据的重要机制。是从一个或多个基 表(或视图)导出的表,它与基本表不同,是虚表。 5. 问题:什么是游标 答案:游标是系统为用户开设的一个数据缓冲区,存放 SQL 语句的执行结果,每个游标区都有一个 名字。用户可以通过游标逐一获取记录,并赋给主变量,交由主语言进一步处理。 6. 问题:对数据库操作的语句 答案:select,insert,update,delete 7. 问题:数据库的操作过程 答 案 :(1)加载驱动程序;(2)建立数据库连接;(3)向数据库发送 SQL 语 句 ;(4)事务处理;(5) 管理连接。 8. 问题:所知道的排序方法的种类 答案:插入,快速,选择,交换,归并,基数,希尔等。 9. 问题:什么是 MVC 答案:这个大家都清楚,可查询有关资料。 30 天学不会英语 无效退款 宫方网站 www.28k.cn
30 天学不会英语 无效退款 宫方网站 www.28k.cn 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 学的怎么样?答:学了一个学期的课程 问:C 或 C++挑一个你最好的。答 :C++ 30 天学不会英语 无效退款 宫方网站 www.28k.cn
30 天学不会英语 无效退款 宫方网站 www.28k.cn C++:问:面向对象的特点:解释一下什么继承,多态。 答 :我在回答的时候,是通过一个经典的例子说的。 7. 你的项目经验: 问:是用什么开发的 ? 答:asp 8. 日语基础: 写一下五十音图 ,说一个存在句,说一个判断句,说一个你学过的最复杂 的句子。 首先,面试官对整个试卷的成绩做个一个评价。我的编程做了一个 java 和一个 c 语言的。面试官问我这 两门语言那一门更熟悉,我说我是 .net 班的,相对来说对 C 语言相对熟悉一些。他接着问我什么时候学 的 C 语言,我说大一下学期,他问以后用的多吗?我说:大二以后就不用了,因为 C 的编程环境太单调 了,以后我们就用 C++ 代替了 C 语言。接着,面试官就以 VC++ 为切入点问我。问题可以分为以下几个: 1、让我谈谈面向对象是怎样理解的? 2、谈谈类、子类的联系和区别。 3、谈谈继承、多态、封装、抽象、重载、虚函数、抽象类。 4、VC++ 中的 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 中的关闭连接操作,就是放在 finally 中执行的。 3.wait 方法和 sleep 方法的区别? 30 天学不会英语 无效退款 宫方网站 www.28k.cn
30 天学不会英语 无效退款 宫方网站 www.28k.cn 答:他们都是用来堵塞、挂起当前线程的方法,大体上应该是 wait 方法可以释放原先占有的资源,而 sleep 方法好像不能... 在以前的编写的代码中,我几乎没有用过控制线程的操作,这部分知识我确实不敢随便 说。 4.Java 中,是否有内存泄漏问题? 答:为什么会有“内存泄漏问题”呢,主要是以前的一些编程语言,如 C、C++等,因为存在指针变量, 而且这些指针是可以进行运算的,所以可能会产生“内存泄漏问题”。对于 Java 来说,尽管声称废除了指 针,但是每个类的实例的引用就是一种“指针”,然而这些引用是不支持运算的,也就不存在内存地址混 乱问题,所以应该没有“内存泄漏问题”。 5.Java 虚拟机的垃圾回收机制,是否真的不会有问题? 答:一个类的实例,如果长时间不用了,就可能被虚拟机垃圾回收掉。但是具体的被回收的时间的长短、 具体什么时刻能被回收是不确定的。一般情况下,如果虚拟机认为当前可以使用的内存空间不多的时候, 就会进行垃圾回收。据我现在的知识,认为,虚拟机的垃圾回收机制应该不会产生问题。 6.在平常的代码编写的过程中,有没有测试?一般怎样进行? 答:我平常写代码,也写一些测试程序,一般是使用 JUnit,对编写的 DAO 类进行各种功能操作,如保存 、 删除、添加等的测试. (他又补充问道:你这是小部分的测试,我指的是“单元测试”) 我平常写的差不多就是这类的简单测试了,还没有写一个功能强大的、有较大实际使用价值的“单元测 试”。 7.你在代码中,都是怎样对待异常情况的? 答:在绝大多数情况下,我都回知道哪些代码可能会抛出异常以及会抛出什么样的异常。所以我也会针对 不同类型方面的异常区分对待。我一般会分成几类情况:一类是服务器崩溃等情况,是最严重的异常了, 没有什么可以挽救的余地,返回给用户“服务器维护中,暂时无法使用”;一类是数据库操作失败等情况, 比如 JDBC 连接数据库失败、Hibernate 正常删除数据失败等,是属于意外情况,严重程度稍微低一些,返 回给用户“刚才由于网路不畅,导致操作失败,请重新操作”,同时,需要回滚的及时回滚;再一类在实 现有所准备的、业务操作异常的情况,比如登录密码错误、新用户注册重名现象等等,这些异常都是在意 料之中、有所准备的。此时可以返回相关的提示,严重程度相对比较的低。 8.说一下数据库表设置多个外键的事情 答:我以前设计的数据库表,还没用多个外键的情况.从外键的定义上说,一个表设置多个外键是完全可 以的,外键对应着相关表的主键,内容只能是对应的主键的值。如果对应的主键发生变化,那么就要按照 当时定义外键时制定的规则对外键所在的纪录条进行保留、删除或是更新操作。 9.谈谈对 CMM 的认识 答:CMM 是一种开发的模式,正好我们做的一个项目就是按照 CMM3 的基本要求做的。因为以前的时候都 是采用类似“快速”开发一样的方式,还快就会开始编码,但是 CMM3 要求每一步都要事先有一份完整的文 档,所以一开始,对这种整天只写文档,不写代码的模式不太适应。随着项目的不断进行,才觉着 CMM3 的 这种开发模式有许多的优点和好处。每做一步都有上一步的文档的支持,保证了工作的一致性和完整性。 同时,因为是在统一的文档进行的工作,较容易了解的项目的进展情况,便于对项目的监控。 10.别人的进度拖延了,影响到了你的进度,这种事情在实际情况下经常有,你怎么处理? 答:我会直接找到这位(些)同事,了解情况,看看我是否能帮得上忙。如果帮不上,问一下什么时候能 够结束,调整一下自己的工作安排,先做其它的一些和他们的进度联系不大的东西。都是自己项目组的同 事,应该很好协调。 (如果是,别的项目组的进度影响到你呢?) 如果是别的组的人,自己就不好直接找人家,我会和项目组长说。如果事情紧急,让项目组长带着我, 我们一起与那个项目组进行沟通。 ... ... 30 天学不会英语 无效退款 宫方网站 www.28k.cn
30 天学不会英语 无效退款 宫方网站 www.28k.cn 通过东软面试官所提的这些问题可以看出,他们是从知识、能力和意识三个方面对面试者进行考查的。 1. 知识类问题,比如 final 和 finally、wait 和 sleep 等问题,考察的就是基础知识,是什么就是什么 , 没有可以解释的余地。对于这类的问题,只有靠自己的认真学习,才能答好。 2. 能力类问题,比如内存泄露、垃圾回收、对待异常等问题,能回答的非常完美当然很好,但我们现在 的所学能回答准确不好办。所以我认为,这类问题不能简单的回答“是”“不是”“能”“不能”,应该 把思考的思路表现给面试官,只要认可了我的思路,也就基本的认可了这方面的能力了。 3. 意识类问题,比如对 CMM 的认识、工作协调等问题,主要看对某些方面认识有多深,我认为能结合着 自己的经历谈,再加上阐述合理,较容易得到面试官的认可。 1 二叉树,完全二叉树得性质及特点 2 B-树性质及特点 3 ADO.NET 对象 1、在 C#中,string str = null 与 string str = “” 请尽量使用文字或图象说明其中的区别。 回答要点: 说明详细的空间分配。(10 分) 答:string str = null 是不给他分配内存空间,而 string str = "" 给它分配长度为空字符串的内存空间. 2、请详述在 dotnet 中类(class)与结构(struct)的异同:(10 分) 答:Class 可以被实例化,属于引用类型,是分配在内存的堆上的,Struct 属于值类型,是分配在内存的栈上的. 3、根据委托(delegate)的知识,请完成以下用户控件中代码片段的填写:(10) namespace test { public delegate void OnDBOperate(); public class UserControlBase : System.Windows.Forms.UserControl { public event OnDBOperate OnNew; privatevoidtoolBar_ButtonClick(objectsender,System.Windows.Forms.ToolBarButtonClickEventArgs e) { if(e.Button.Equals(BtnNew)) //请在以下补齐代码用来调用 OnDBOperate 委托签名的 OnNew 事件。 { } } }答:if( OnNew != null ) OnNew( this, e ); 4、分析以下代码,完成填空(10 分) string strTmp = "abcdefg 某某某"; int i= System.Text.Encoding.Default.GetBytes(strTmp).Length; int j= strTmp.Length; 以上代码执行完后,i= j= 答:i=13,j=10 5、SQLSERVER 服务器中,给定表 table1 中有两个字段 ID、LastUpdateDate,ID 表示更新的事务号, LastUpdateDate 表示更新时的服务器时间,请使用一句 SQL 语句获得最后更新的事务号。(10) 答:SELECT ID FROM table1 WHERE LastUpdateDate = (SELECT MAX(LastUpdateDate) FROM table1) 30 天学不会英语 无效退款 宫方网站 www.28k.cn
30 天学不会英语 无效退款 宫方网站 www.28k.cn 6、根据线程安全的相关知识,分析以下代码,当调用 test 方法时 i>10 时是否会引起死锁?并简要说明理由。(10 分) public void test(int i) { lock(this) { if (i>10) { i--; test(i); } } } 答:不会发生死锁,(但有一点 int 是按值传递的,所以每次改变的都只是一个副本,因此不会出现死锁。但 如果把 int 换做一个 object,那么死锁会发生) 7、分析以下代码。(10) public static void test(string ConnectString) { System.Data.OleDb.OleDbConnection conn = new System.Data.OleDb.OleDbConnection(); conn.ConnectionString = ConnectString; try { conn.Open(); ……. }catch(Exception Ex) { MessageBox.Show(Ex.ToString()); }finally { if (!conn.State.Equals(ConnectionState.Closed)) conn.Close(); } 请问 1)以上代码可以正确使用连接池吗? 答:回答:如果传入的 connectionString 是一模一样的话,可以正确使用连接池。不过一模一样的意思是,连 字符的空格数,顺序完全一致。 2)以上代码所使用的异常处理方法,是否所有在 test 方法内的异常都可以被捕捉并显示出来? 答:只可以捕捉数据库连接中的异常吧. (finally 中,catch 中,如果有别的可能引发异常的操作,也应该用 try,catch。所以理论上并非所有异常都会被捕捉。) 8、简要谈一下您对微软.NET 构架下 remoting 和 webservice 两项技术的理解以及实际中的应用。(10) 30 天学不会英语 无效退款 宫方网站 www.28k.cn
30 天学不会英语 无效退款 宫方网站 www.28k.cn 答:WS 主要是可利用 HTTP,穿透防火墙。而 Remoting 可以利用 TCP/IP,二进制传送提高效率。 9、公司要求开发一个继承 System.Windows.Forms.ListView 类的组件,要求达到以下的特殊功能:点击 ListView 各列列头时,能按照点击列的每行值进行重排视图中的所有行 (排序的方式如 DataGrid 相似)。根据您的知识, 请简要谈一下您的思路:(10) 答:根据点击的列头,包该列的 ID 取出,按照该 ID 排序后,在给绑定到 ListView 中 10、给定以下 XML 文件,完成算法流程图。(10) < DriverC > 请画出遍历所有文件名(FileName)的流程图(请使用递归算法)。 答: void FindFile( Directory d ) { { } FileOrFolders = d.GetFileOrFolders(); foreach( FileOrFolder fof in FileOrFolders ) if( fof is File ) You Found a file; else if ( fof is Directory ) FindFile( fof ); } 1.new 有几种用法 第一种:new Class(); 第二种:覆盖方法 public new XXXX(){} 第三种:new 约束指定泛型类声明中的任何类型参数都必须有公共的无参数构造函数。 2.如何把一个 array 复制到 arrayList 里 foreach( object o in array )arrayList.Add(o); 3.datagrid.datasouse 可以连接什么数据源 [dataset,datatable,dataview] dataset,datatable,dataview , IList 4.概述反射和序列化 反射:程序集包含模块,而模块包含类型,类型又包含成员。反射则提供了封装程序集、模块和类型的对象。您 可以使用反射动态地创建类型的实例,将类型绑定到现有对象,或从现有对象中获取类型。然后,可以调用类 型的方法或访问其字段和属性 30 天学不会英语 无效退款 宫方网站 www.28k.cn
分享到:
收藏