互联网面试题

百度某部门

1 spring ioc、aop 的原理 

2 hibernate 延迟加载原理 

3 事务隔离级别 什么情况下用低的或者用高的 

4 事务传播方式哪几种 

5 ajax 跨域如何实现 

6 MQ是否应该保持顺序 保持是否的优劣 

7 乐观锁与悲观锁,举例场景 

8 cookie 与session 区别和联系,http 协议是无状态的,怎么区分不同登录用户 

9 阐述opensessionview一下, 用和不用 数据库连接、transaction session 之间 开启和关闭顺序 

大题 

1.设计一个权限系统 ,要求若干(我就阐述了一下rbac的原则,简单说了一下设计的表和思路) 

2.设计 一个b/s结构 mvc框架,要求若干(我着重说明了一下控制转发这块的设计思路) 

百度移动终端研发工程师笔试题,题量不大,2个小时,有点难度。

1.写一个字符串逆序的程序,时间复杂度和空间复杂度最低,效率越高越好。

2.实质:二叉树的层序遍历,每层的结点用单链表输出。

3.1-N(N最大32000,且未知),内存只有4K,找出其中的重复数

4.编程题,比较复杂,是个系统设计题,与《编程之美》中3.2,电话号码对应英语单词类似。

百度软件开发工程师一面问题:

1.有101个数,为[1,100]之间的数,其中一个数是重复的,如何寻找这个重复的数,其时间复杂度和空间复杂度是多少?

2.Java中抽象类与接口的区别。

3.进程与线程之间的联系与区别。(多家公司都在问,好好研究一下)

4.谈谈对设计模式的认识与理解,简单介绍一下你所知道的设计模式。(多家公司都问,Android方向面试必考的)

5.线程、多线程相关(必问)

6.Linux常用的命令,shell编程,grep命令的使用。

7.海量数据查找或者排序,有资源限制要求。(常考的)

Sina无线客户端开发工程师面试

笔试的题目和7月22日实习生的题目差不多。面试主要问了:

1.二叉树的一些基础知识。

2.Java多线程,对stop()方法的认识,如何安全的终止一个线程。

3.设计模式相关的问题

4.谈谈你对面向对象编程中继承的认识

5.排序算法 

网易2012校招无线客户端开发笔试,题目不太难,比较基础。

1.面向对象编程中多态的概念,用伪代码展示出来。

2.斐波那契数列编程,效率越高越好(详见《编程之美》2.9)

3.60W长度为32的字符串一次性读入内存中,大约占用多少内存空间?

4.一个X向量n,如何求其内部的最大距离。

5.在浏览器中输入http://www.163.com,从输入到页面在浏览器中显示出来,期间发生了哪些过程,越详细越好。

6.简单介绍一下Android系统中的Activity,Service, Intent, ContentProvider组件。 

7.编程解析一段josn格式内容,并在界面上显示出来。

8.英文阅读,考察英语能力。

9.网络应用分析,发挥自己的主观能动性和积累。

阿里巴巴Java面试的一些要点

面试要点: 

了解一下教育背景,是否有真正做过文本分类的算法,可以了解一下分类算法是否熟悉 

是否有过B/S的开发经验 

传递参数时,什么时候是值传递,什么时候是引用传递 

是否使用过JDBC,JDBC的使用方法 

try-catch-finally中,如果在try或catch中有return过,是否还执行 

简述快速排序 

不是用中间变量实现swap(x,y)函数 

1、 除了在从前的项目中使用了哪些开源框架开发外,需注重他们是否清楚框架的工作原理; 

Jdk1.5新特性, 

Spring的原理,事务如何管理,如何防止脏读数据, 

你最有成就感的项目, 

说说方法sysnchrnized 和方法块sysnchrnized区别, 

Hibernate的延迟加载,session何时开启,何时关闭. 

2、对java应用的内存处理机制,线程工作原理,并有没有在项目中实际解决该类问题的经验; 

3、 有没有在项目中有过系统性能调优,性能跟踪,内存泄漏定位等相关经验, 

4、 在解决实际问题时,是否有了解解决问题方法的本质(解决方案的系统原理); 

5、 对关系型数据库工作原理,以及关键性能影响点的了解及项目中的实际经验; 

6、 是否爱好技术,愿意不断投入时间去跟进,学习(学习的深入度,是否能结合系统原理来看一些新技术); 

Java面试题 

1.string,stringbuffer 和stringbuilder的区别 

2.struts1和2的区别 

3.ArrayList,HashMap,HashTable区别 

4.谈谈NIO 

5.Weblogic怎么发布一个JMS 

6.OBJECT有些什么函数,都是做什么用的 

7.JSP,SERVLE是线程安全的吗?为什么? 

8.了解SOA吗? 

9.网页中跨域访问的问题怎么解决 

10.ibtas中怎么设置OS CACHE 

JAVA面试基础测试题 

1.抽象: 

 抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节。抽象包括两个方面,一是过程抽象,二是数据抽象。 

7、String 和StringBuffer的区别 

 JAVA平台提供了两个类:String和StringBuffer,它们可以储存和操作字符串,即包含多个字符的字符数据。这个String类提供了数值不可改变的字符串。而这个StringBuffer类提供的字符串进行修改。当你知道字符数据要改变的时候你就可以使用StringBuffer。典型地,你可以使用 StringBuffers来动态构造字符数据。 

9、说出Servlet的生命周期,并说出Servlet和CGI的区别。 

 Servlet被服务器实例化后,容器运行其init方法,请求到达时运行其service方法,service方法自动派遣运行与请求对应的doXXX方法(doGet,doPost)等,当服务器决定将实例销毁的时候调用其destroy方法。 

与cgi的区别在于servlet处于服务器进程中,它通过多线程方式运行其service方法,一个实例可以服务于多个请求,并且其实例一般不会销毁,而CGI对每个请求都产生新的进程,服务完成后就销毁,所以效率上低于servlet。 

   (我2434298599)10、说出ArrayList,Vector, LinkedList的存储性能和特性 

 ArrayList 和Vector都是使用数组方式存储数据,此数组元素数大于实际存储的数据以便增加和插入元素,它们都允许直接按序号索引元素,但是插入元素要涉及数组元素移动等内存操作,所以索引数据快而插入数据慢,Vector由于使用了synchronized方法(线程安全),通常性能上较ArrayList差,而LinkedList使用双向链表实现存储,按序号索引数据需要进行前向或后向遍历,但是插入数据时只需要记录本项的前后项即可,所以插入速度较快。 

14、HashMap和Hashtable的区别。 

    HashMap是Hashtable的轻量级实现(非线程安全的实现),他们都完成了Map接口,主要区别在于HashMap允许空(null)键值(key),由于非线程安全,效率上可能高于Hashtable。 

HashMap允许将null作为一个entry的key或者value,而Hashtable不允许。 

HashMap把Hashtable的contains方法去掉了,改成containsvalue和containsKey。因为contains方法容易让人引起误解。 

Hashtable继承自Dictionary类,而HashMap是Java1.2引进的Map interface的一个实现。 

最大的不同是,Hashtable的方法是Synchronize的,而HashMap不是,在多个线程访问Hashtable时,不需要自己为它的方法实现同步,而HashMap 就必须为之提供外同步。 

Hashtable和HashMap采用的hash/rehash算法都大概一样,所以性能不会有很大的差异。 

16、sleep() 和 wait() 有什么区别? 

    sleep是线程类(Thread)的方法,导致此线程暂停执行指定时间,给执行机会给其他线程,但是监控状态依然保持,到时后会自动恢复。调用sleep不会释放对象锁。 

wait是Object类的方法,对此对象调用wait方法导致本线程放弃对象锁,进入等待此对象的等待锁定池,只有针对此对象发出notify方法(或notifyAll)后本线程才进入对象锁定池准备获得对象锁进入运行状态。

某互联网面试

笔试题: 

1."a"+100%3+100 

2.public class Demo { 

public static void main(String[] args) { 

B b1 = new B(1); 

B b2 = b1; 

change(b2); 

System.out.println(b1.value); 

System.out.println(b2.value); 

public static void change(B b){ 

b = new B(2); 

  } 

  class B{ 

int value; 

public B(int value){ 

this.value = value; 

  } 

3.有一个数组,求出数组中两两做差绝对值的最小值 

4.在一个文件中有10G个整数,乱序排序,要求找出中位数。只写出思路即可。 

面试的问题: 

1.如何使HashMap性能最差 

2.HashMap是如何实现的 

3.如何用Sql语句实现一张表的两列交换数据 

大众点评网面试

jvm的原理,Struts的处理机制,spring的ioc原理,groovy的闭包,nosql和关系数据库的优劣等等”

某公司java高级工程师

RMI通信过程,虚拟机垃圾回收以及调优 

Spring quarts,多线程设计四五个线程间的同步互斥

Spring安全,java加密算法,JMS

1、二叉树的遍历,给你个图,让你写出:前序遍历、中序遍历、后序遍历的顺序,话说这东西当初学c语言的时候知道,但是早忘光了。 

2、描述一下TCP/IP协议的三次握手。 

3、描述一下hashmap的实现原理。 

4、给你个整数数组,自己写方法降序排序。(冒泡) 

5、字符串倒叙输出(这个简单) 

6、栈(后进先出) 

7、tcp/ip协议和udp的区别 

8、类的加载运行顺序,给你两个类,一个继承另一个,里面都有静态块啥的,给结果 

9、简单的++ --类型的程序 

10、数据库表中的两列互换 

11、都用过什么设计模式、然后写一个例子 

猜你喜欢

转载自lvwenwen.iteye.com/blog/1724728