3.2 程序设计语言基础-Java
阿里巴巴面试题以及答案
一、String,StringBuffer, StringBuilder 的区别是什么?String为什么是不可变的?
二、VECTOR,ARRAYLIST, LINKEDLIST的区别是什么?
三、HASHTABLE, HASGMAQ,TreeMap区别
四、ConcurrentMap和HashMap的区别
五、Tomcat,apache,jboss的区别
六、GET POST区别
七、SESSION, COOKIE区别
八、Servlet的生命周期
九、HTTP 报文包含内容
十、Statement与PreparedStatement的区别,什么是SQL注入,如何防止SQL注入
十一、redirect, foward区别
十二、关于JAVA内存模型,一个对象(两个属性,四个方法)实例化100次,现在内存中的存储状态,
几个对象,几个属性,几个方法。
十三、谈谈Hibernate的理解,一级和二级缓存的作用,在项目中Hibernate都是怎么使用缓存的
十四、反射讲一讲,主要是概念,都在哪需要反射机制,反射的性能,如何优化
十五、谈谈Hibernate与Ibatis的区别,哪个性能会更高一些
十六、对Spring的理解,项目中都用什么?怎么用的?对IOC、和AOP的理解及实现原理
十七、线程同步,并发操作怎么控制
十八、描述struts的工作流程。
十九、Tomcat的session处理,如果让你实现一个tomcatserver,如何实现session机制
二十、关于Cache(Ehcache,Memcached)
二一、sql的优化相关问题
二二、oracle中 rownum与rowid的理解,一千条记录我查200到300的记录怎么查?
二三、如何分析ORACLE的执行计划?
二四、 DB中索引原理,种类,使用索引的好处和问题是什么?
二五、JVM垃圾回收实现原理。垃圾回收的线程优先级。
二六、jvm 最大内存设置。设置的原理。结合垃圾回收讲讲。
1、了解j2EE规范,选择几点进行重点消化。
2、异常分类,一般性异常和运行期异常,异常捕获。
3、了解spring mvc框架,和struts mvc框架的区别。
4、要对spring和ibatis非常熟悉,必须,熟知。
5、应适当关注需求分析和产品方面的知识。
6、了解多线程相关知识
7、了解java5以及java6新特性
8、熟悉linux相关命令操作。
9、工厂模式,简单工厂、抽象工厂的区别
10、动态代理模式
11、
先自我介绍。
2.在你所用过的框架中你比较喜欢那个。
3.问你做过的这些项目中那个收获最大,收获到了什么。
4.ibatis和Hibernate的区别。
5.servlet的生命周期。
6.spring的两个主要特性(AOP和IOC)。
7.说一下你所理解的J2EE是什么?
8.为什么说JBOSS符合J2EE的要求,而TOMCAT不符合J2EE的要求?
9.Hibernate的优点和缺点。
10.你认为在项目中最重要的是什么?
11.要是分给你的任务,你感到完成有困难,你会怎么办?
阿里巴巴面试题http://wenku.baidu.com/view/8855698cd0d233d4b14e69c3.html
京东商城的笔试题http://zhidao.baidu.com/question/300046891.html
京东笔试题 http://blog.csdn.net/huiguixian/article/details/6780394
京东商城(2011)笔试:http://19860312.blog.51cto.com/1934337/665777
京东开发笔试题 http://wenku.baidu.com/view/764dd811a216147917112873.html
第一部分 数据结构
1、 设a,b,c三个元素的进栈次序是a,b,c,符号PUSH与POP分别表示对堆栈进行一次进栈操作与一次出栈操作
(1) 请分别写出所有可能的出栈序列以及获得该出栈序列的操作序列
(2) 指出不可能出现的出栈序列
2、 已知某二叉树的后序遍历序列是dabec,中序遍历序列是deabc,它的前序遍历序列是什么?
3、 将长度为n的单链表链接在长度为m的单链表之后的算法的时间复杂度是多少?
4、 在有序表(12,24,36,48,60,72,84)中二分查找关键字72时所需进行的关键字比较次数是多少?
5、 现有一圆环形路,路上有n个加油站,第i个加油站储存有Ni升容量的油,每两个加油站之间有一定的距离(km),一汽车初始无油,该车每公里消耗w升油,请问该车从哪个加油站出发可以绕该环形路行驶一圈。给出所有的算法及时间的复杂度。
6、 B-树和B+树有什么区别,用在什么地方?
第二部分 软件工程
1、 软件生存周期各阶段的活动定义是什么?
2、 程序的三种基本控制结构是什么?
3、 汽车有一个发动机。汽车和发动机之间的关系是什么关系?请画出这种关系的UML图
第三部分 数据库
1、现有两个表Student。 StudentScore,如下:
Table:Student
Id(主键) |
Name |
Sex |
1 |
张三 |
男 |
2 |
李四 |
男 |
3 |
翠花 |
女 |
Table:StudentScore
StudentId(Student外键) |
Course |
Score |
1 |
高数 |
80 |
1 |
数据结构 |
55 |
3 |
高数 |
70 |
4 |
数据结构 |
80 |
(1)写出Student、StudentScore的建表语句
(2)写出Student、StudentScore之间Left Join,Right Join和Inner Join的sql语句
(3)写出Student、StudentScore之间Left Join,Right Join和Inner Join的结果,样式如下:
Id |
Name |
Sex |
Course |
Score |
(4) 在Student中插入一条新记录(4,王五,男),请写出对应的sql语句
(5) 写出统计所有的课程考试及格(>=60)的人数的Sql语句,结果要包含课程和人数字段
第四部分 逻辑
1、你让工人为你工作7天,给工人的回报是1根金条。金条平分成相连的7段,你必须在每天结束时给他们1段金条,如果只许你两次把金条弄断,你如何给你的工人付费?
2、请把1盒蛋糕分成8份,分给8个人,但蛋糕盒里还必须留有一份
3、U2合唱团在赶往演唱会场的途中必须跨过1座桥,4个人从桥的同一端出发,你得帮助他们到达另一端,天色很暗,而他们只有一只手电筒。一次同时最多可以有2人一起过桥,而过桥的时候必须持有手电筒,所以就得有人把手电筒带来带去,来回桥的两端。4个人的步行速度各不同,若2人同行则以比较慢的人速度为准。Bono需要花1分钟过桥,Edge需花2分钟过桥,Adam需花5分钟过桥,Larry需花10分钟过桥。请写出最短的时间和步骤。
4、有7克、2克砝码各一个,天平一只,如何只用这些物品3次将140的盐分为50,90,个、克各一份?
5、4,4,10,10,运用加减乘除,怎么得出24点?
第五部分 其它
1、请阐述进程和线程的区别
2、常用的内存管理方法有哪几种
3、请说出ISO网络参考模型有哪几层,并简单描述每一层功能
第六部分 Java
1、Java多线程有几种实现方法?
2、String与StringBuffer的区别
3、ArrayList和Vector主要区别是什么?
4、请简述servlet的生命周期
第七部分 .NET
1、声明常量时通常会用关键字const和static,请说明两者的不同
2、String与StringBuilder的区别
3、Asp.Net种页面之间传值有几种方式?
4、Asp.Net中的Session经常丢失,怎么解决?