1~3 逻辑题(就是那些有点考验你智商的或者考验你逻辑能力的题目)
JAVA基础题
4、抽象类与接口有什么不同?
5、关于线程的题目,记不清了。
算法题
6、写出2乘以17效率最高的算法?
7、编程题(题目太长,略)。
好像还是关于JAVA的知识点
8、简述final、fianlly和finalize的区别?
final用于声明属性,方法和类,分别表示属性不可变,方法不可覆盖,类不可继承。
finally是异常处理语句结构的一部分,表示总是执行。
finalize是Object类的一个方法,在垃圾收集器执行的时候会调用被回收对象的此方法,可以覆盖此方法提供垃圾收集时的其他资源的回收,例如关闭文件等。
9、简述ArrayLists和LinkedList的区别?
ArrayList使用数组方式存储数据 索引快,插入删除慢
LinkedList使用双向链表实现存储,插入删除快,索引慢
10、在try的括号里面有return一个值,那是否还执行finally里的代码。是在return前执行还是return后执行。
是,在return后执行
11、题目太长,略。
设计模式题
简述templates和××××(忘了)的区别?
数据库题
12、创建学生表S,课程表C,学生选课表SC。写出建表的SQL语句。
13、写出返回选了全部课程的学生的SQL语句。
14、写出返回至少选了5门课的学生的SQL语句。
javascript题
15、实现点击页面上的一个链接,然后隐藏这个链接的javascript代码。
<a href=”#” οnclick=”javascript:window.open(’a.htm’)”>打开窗口</a>
当鼠标打向打开窗口时,出现的链接信息是#,而不是a.htm,从而达到隐藏真实的超级链接地址的效果!
测试知识题
16、简述什么是测试驱动开发(TDD)。
测试驱动开发是敏捷开发中的一项核心实践和技术,也是一种设计方法论。TDD得原理是在开发功能代码之前,先编写单元测试用例代码,测试代码确定需要编写什么产品代码。TDD虽是敏捷方法的核心实践,但不只适用于XP(Extreme Programming),同样可以适用于其他开发方法和过程。
TDD得基本思路就是通过测试来推动整个开发得进行,但测试驱动开发并不只是单纯的测试工作,而是把需求分析,设计,质量控制量化的过程。
TDD的重要目的不仅仅是测试软件,测试工作保证代码质量仅仅是其中一部分,而且是在开发过程中帮助客户和程序员去除模棱两可的需求。TDD首先考虑使用需求(对象、功能、过程、接口等),主要是编写测试用例框架对功能的过程和接口进行设计,而测试框架可以持续进行验证。
优点:在任意一个开发节点都可以拿出一个可以使用,含少量bug并具一定功能的产品。
缺点:增加代码量。测试代码是系统代码的两倍或更多。
TDD = TFD + Refactoring
(TFD -- Test First Development)
补充题
17、说说你希望从阿里巴巴得到什么。用3个名词概括。
阿里巴巴的价值观:
客户第一:关注客户的关注点,为客户提供建议和资讯,帮助客户成长。
团队合作:共享共担,以小我完成大我。
拥抱变化:突破自我,迎接变化。
诚信:
激情:
敬业: