中通服软件公司笔试面试 回忆版


首先说一下,这是我至今为止面过的最正式的技术面。之前经历的自我介绍、小组讨论、项目介绍、各种奖项堆积都是虚的。我所认为的技术面,就应该是纯粹的技术测试,而不是其他杂的。。

这家公司到我们学校招实习生,岗位是JAVA工程师,当我拿着一张只写着精通C++的简历去的时候,发现方向不对口,外加照片不够了(前面投的太多,后面照片都不够了)想转身走人。但是HR的两句话让我还是决定把简历给她。“计算机语言都是相通的,转化很快的。”“我们又不是看你长得怎么样,才录取你”。

经过一个多星期的等待,以为石沉大海了。昨天接到HR的来电,叫我今天去笔试面试。我今天去了,后悔没有来之前好好复习一下JAVA和数据库。

首先是笔试,找到了该公司,HR给了我6张A4纸,上面都是java和数据库的大题,有点欲哭无泪的感觉,要知道我是有多久没看java 了(最近一直在看数据结构算法以及刷OJ的题目)。但来还是来了,总不能转身就走吧,这也对不起我20块打的费用。

于是沉下心来做题。。

第一题是问java 中的8种数据类型。

我写了几种,发现凑不到8个,好悲催。

Java中有四类8种基本数据类型:

第一类:整型  byte short int long 分别是1个字节,2个字节,4个字节,8个字节

第二类:浮点型 float double 分别是4个字节,8个字节

第三类:逻辑型 boolean

第四类:字符型 char     2个字节

下面就笔试面试一起说吧,因为面试就是两个技术官针对你做的题目,分析一下,再拓展问一下。

 

第二题,经典问题。问的是overload和override的区别和联系

override是重写,方法名称、参数个数类型顺序,返回类型都是必须和父类一致的。它的关系是父子关系。他接着问我,子类调用父类的方法用什么关键字?super.XXX 好吧,这我都忘了。

overload是重载,只有方法名称不变,其余都可以变更。它的关系是同一个类,同一个方法名,不同的方法函数或返回值。不能重载只有返回值不同的方法名。

它们都属于java多态性的表现。重写Overriding是父类与子类之间多态性的表现,重载Overload是一个类中多态性的一种表现。

这道题出的我觉得还是比较中肯的,挺考验基本功的。

 

第三题,直接晕掉,问的是forward和redirect的区别。好吧,我之前根本没听说过这两个名词。

forward是内部跳转,redirect是重定向跳转。

从地址栏显示分析,forward是服务器请求资源,服务器直接访问目标地址的URL,地址栏还是原来的地址。而redirect是服务器根据逻辑,发送一个状态码,告诉浏览器重新请求那个地址,所以地址栏是新的URL

forward可以共享request里面的数据;而redirect不能共享数据

forward用于用户登陆时候根据角色转发到相应模块;redirect用于用户注销返回主页面。

forward效率高,redirect效率低

 

第四题,也是一脸蒙逼。

问:xml解析技术

首先,xml是数据存储格式。共有4中主流技术

1.DOM基于树或者基于对象的

2.SAX在读取数据时检查数据

3.JDOM  java特定文档模型

4.DOM4J作为一个非常优秀的java XML API,性能优异,功能强大,易用。

 

第五题,List,ArrayList,LinkedList,Set,Map,HashMap

我心想,问到数据结构的知识了。

ArrayList采用的是数组形式来保存对象的,这种方式将对象放在连续的位置中,所以最大的缺点就是插入删除时非常麻烦

LinkedList采用的将对象存放在独立的空间中,而且在每个空间中还保存下一个链接的索引。但是缺点就是查找非常麻烦 要丛第一个索引开始。

Set不允许重复的元素

Map键值对映射关系的集合

HashMap根据Hash算法来计算key-value的存储位置

 

第六题 Linux常用命令

我就随便写了几个:

mkdir,find,mv,ls,cat,ping,ifconfig,su,tar,man等

 

第七题 JDBC连接数据库

分为以下7个步骤:1.加载JDBC驱动程序 2.提供JDBC连接的URL

3.创建数据库的连接 4.创建一个Statement  5.执行SQL语句

6.处理结果  7.关闭JDBC对象

 

下面就是问了一下数据库的知识了,可见该公司对于java和数据库还是很看重的。

首先是存储过程。

存储过程(Stored Procedure)是在大型数据库系统中,一组为了完成特定功能的SQL 语句集,存储在数据库中,经过第一次编译后再次调用不需要再次编译,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。存储过程是数据库中的一个重要对象,任何一个设计良好的数据库应用程序都应该用到存储过程。

总的来说,存储过程可以重复使用,提高开发效率。

 

最后问了一下视图和物化视图。

这两个问题我答对了(自吹了一把)。

视图是从一个或多个表导出的表。视图是一个虚表,即视图所对应的数据不进行实际存储。提高了操作的安全性和简化了用户的操作。

物化视图和视图类似,反映的是某个查询的结果,但是和视图不同的是,物化了的视图实际存储数据。

 

以上便是我根据回忆总结的题目,实际面试中还有很多我未涉及过的知识,太多实在记不得了。这次经历给我的经验是,无论面哪种岗位,至少提前三天把相关知识熟悉一下。

智能推荐

注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
© 2014-2019 ITdaan.com 粤ICP备14056181号  

赞助商广告