百度Java工程师面试题整理「重点」
去BAT是很多人梦寐以求的职业理想,BAT的入职标准,某种程度上也代表了行业的能力水准和市场的招聘行情,本文就为大家总理了百度的Java工程师面试,供你参考。
面试问题:
1、面向对象的特征有哪些方面?
2、String 是最基本的数据类型吗?
3、访问修饰符public,private,protected,以及不写(默认)时的区别?
4、short s1 = 1; s1 = s1 + 1;有错吗?short s1 = 1; s1 += 1;有错吗?
5、float f=3.4;是否正确?
6、Java有没有goto?
7、&和&&的区别?
8、int和Integer有什么区别?
9、解释内存中的栈(stack)、堆(heap)和静态区(static area)的用法。
10、Math.round(11.5) 等于多少?Math.round(-11.5)等于多少?
11、switch 是否能作用在byte 上,是否能作用在long 上,是否能作用在String上?
12、数组有没有length()方法?String有没有length()方法?
13、用最有效率的方法计算2乘以8?
14、在Java中,如何跳出当前的多重嵌套循环?
15、两个对象值相同(x.equals(y) == true),但却可有不同的hash code,这句话对不对?
16、构造器(constructor)是否可被重写(override)?
17、String和StringBuilder、StringBuffer的区别?
18、当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递?
19、是否可以继承String类?
20、重载(Overload)和重写(Override)的区别。重载的方法能否根据返回类型进行区分?
21、描述一下JVM加载class文件的原理机制?
22、char 型变量中能不能存贮一个中文汉字,为什么?
23、抽象类(abstract class)和接口(interface)有什么异同?
24、静态嵌套类(Static Nested Class)和内部类(Inner Class)的不同?
25、Java 中会存在内存泄漏吗,请简单描述。
26、抽象的(abstract)方法是否可同时是静态的(static),是否可同时是本地方法(native),是否可同时被synchronized修饰?
27、阐述静态变量和实例变量的区别。
28、是否可以从一个静态(static)方法内部发出对非静态(non-static)方法的调用?
29、如何实现对象克隆?
31、String s = new String("xyz");创建了几个字符串对象?
32、接口是否可继承(extends)接口?抽象类是否可实现(implements)接口?抽象类是否可继承具体类(concrete class)?
33、数据类型之间的转换:
34、Anonymous Inner Class(匿名内部类)是否可以继承其它类?是否可以实现接口?
35、内部类可以引用它的包含类(外部类)的成员吗?有没有什么限制?
36、Java 中的final关键字有哪些用法?
38、一个".java"源文件中是否可以包含多个类(不是内部类)?有什么限制?
39、如何实现字符串的反转及替换?
40、怎样将GB2312编码的字符串转换为ISO-8859-1编码的字符串?
41、日期和时间:
42、打印昨天的当前时刻。
43、比较一下Java和JavaSciprt。
44、什么时候用断言(assert)?
45、Error和Exception有什么区别?
46、try{}里有一个return语句,那么紧跟在这个try后的finally{}里的代码会不会被执行,什么时候被执行,在return前还是后?
47、Java语言如何进行异常处理,关键字:throws、throw、try、catch、finally分别如何使用?
48、运行时异常与受检异常有何异同?
49、列出一些你常见的运行时异常?
50、阐述final、finally、finalize的区别。
51、类ExampleA继承Exception,类ExampleB继承ExampleA。
请问执行此段代码的输出是什么?
52、List、Set、Map是否继承自Collection接口?
53、阐述ArrayList、Vector、LinkedList的存储性能和特性。
54、Collection和Collections的区别?
55、List、Map、Set三个接口存取元素时,各有什么特点?
56、TreeMap和TreeSet在排序时如何比较元素?Collections工具类中的sort()方法如何比较元素?
57、synchronized关键字的用法?
58、线程的sleep()方法和yield()方法有什么区别?
59、当一个线程进入一个对象的synchronized方法A之后,其它线程是否可进入此对象的synchronized方法B?
60、请说出与线程同步以及线程调度相关的方法。
61、编写多线程程序有几种实现方式?
初试问题:
1.写一个单例模式
2.斐波那契数列的递归与遍历实现
3.给定2,3,5面值的硬币若干,给出一个数字,计算拼凑这个数字最少用到硬币的个数
4.有10亿个数字,如何找出top100.(引申问题,链表与数组的的选用)
5.HashMap的内部数据结构(第二次问),Rehash的实现
6.ConcurrentHashMap的实现原理,与HashTable区别是什么(分Segment)
7.Java有哪些同步机制
8.数据库有哪些锁,哪些引擎,分别共享锁和排他锁的区别,应用场景有什么不同
9.B树和B+树的区别,为什么选用B+树作为数据库索引,B+数的孩子节点索引用什么方法查找(二分法……),为什么mysql推荐自增int作为主键
10.redis的分布式锁用了什么方法实现(setNX背后的数据结构)
11.Java有哪些同步机制
12.volatile解决了什么问题,原理是什么
复试问题:
1.Java的异常有几种
2.ThreadLoacl的原理是什么,怎么应用
3.写一个观察者模式和修饰者模式
4.Java都有哪些链接池,链接池的的原理是什么,具体的技术细节,包括核心工作线程,linkedBlockingQueue的原理,一些场景会发生什么(队列满了会怎样,队列空了工作线程会怎样等)
5.servlet的技术细节、原理、线程安全、工作流程
6.Stirng,StringBuilder,StringBuffer之间的区别
7.简述一下GC
8.简述一下AOP
9.Java有哪些Lock
10.Concurrent包都有哪些类,为什么要有concurrent类
11.TreeMap背后的数据结构是什么,红黑树的原理是什么
12.一些复杂的SQL怎么写,四种连接都是什么样的
13.多线程程序如何设计
最后,希望这些能帮助到你们,祝大家面试成功。 要朝这java程序员发展或者真心有兴趣的。可以找我要一些java的学习视频Java学习交流群:642830685,这个是免费的,希望同学找我要的时候不要有理所应当的态度,毕竟都是我的心血,希望你是真的有一颗想要学好java的心,我也会尽所能的去帮助你成为一名优秀的程序员。
注:加群要求
1、想学习JAVA这一门技术, 对JAVA感兴趣零基础,想从事JAVA工作的。
2、工作1-5年,感觉自己技术不行,想提升的
3、如果没有工作经验,但基础非常扎实,想提升自己技术的。
4、还有就是想一起交流学习的。
5.小号加群一律不给过,谢谢。
转发此文章请带上原文链接,否则将追究法律责任
- 上一篇:没有了
- 下一篇:没有了