我面试时遇见过的Java面试题目、校招面试

一.J2SE

1.   I/O:将对象转换为文件实现什么接口;反射是哪一个类 有些什么方法   通过反射获取方法时,能获取private的方法吗?protected

2.   集合框架:collection下面有什么;关于集合线程安全是如何实现的 

3.   arrayListlinkedList区别 vectorarraylist区别,

4.   数据结构:问了下二叉树,接着扩展到搜索二叉树,以及平衡二叉树,红黑树(真正的生产环境,用的是红黑树,因为可以自动调节到平衡二叉树)TreeSetTreeMap以及内部的实现原理

5.   HashMaphashTable区别,结合hashmap源码分析hashmapHashMap实现原理,数据结构,hash冲突解决

6.    jvm原理,解决并发问题(不在队和方法区分配);

7.   Java类加载机制:classloader 堆栈区别,堆栈原理。 http://blog.csdn.net/zhoudaxia/article/details/35824249http://blog.csdn.net/zhoudaxia/article/details/35897057

8.   垃圾回收机制工作原理当对象不再调用,就进行回收吗还是怎样  System.gc执行后,直接进行回收吗还是怎样

9.   抽象类和接口的区别(这里问得很细) 抽象类对于普通类的优缺点

10.分布式缓存,一致性HasH算法;

11.memcached原理流程,它的分布式算法,缓存策略,内存结构,以及应用场景,和redis的区别

12.算法快速排序

13.线程和进程的区别:

14.java事件监听机制的实现 --涉及源代码

15.LRU缓存算法

16.concurrentHashMap原理;hashmaphashset的区别;(这里讲了下ConcurrentHashMap源码,及JAVA中锁的实现原理基于AQSAQS原理,基于CAS实现)

17.gc算法,GC root,哪些可以作为GC root

18.怎样保证一个对象不会被回收

19.CMS收集器,标记流程

20.safepoint介绍

21.IO模型有哪些?

22.gc算法,回收器有哪些

23.ACID。事务隔离机制

24.ReentrantLock的源码实现. (AQS  Sync两个重要的类)syn在方法上和代码块有什么不同

25.公平锁和非公平锁.

26.memcached和其他nosql不区别;分布式节点内部通信机制

27.threadlocal解释

28.volatile的作用及原理

29.堆和栈的区别和联系

30.数组和链表的区别

31.排序算法应用场景

32.lucene全文检索原理

33.SSO单点登录

34.说说对淘宝技术的了解

35.负载均衡算法有哪些

36.如何处理异常:线上服务端传输数据给pc,移动端,报错了的处理。。

37..类实例化的时候怎么被加载的(内部实现)

38.消息的可持久化   redis

39.消息队列  消息中间件

40.常见的页面静态化方式

41.介绍你常用的设计模式,及其用处

42. Ajax  跨域   jsonp  comet

43.serverswoole扩展。。

44.介绍异步ioaio事件驱动

45.如何设计API   RESTful API

46.线程池框架源码

47.stringstringbufferstringbuilder的区别

48.Java注解

49.线程并发,同步异步MVP模式

50..Nginx  负载  nginx内存池的实现,介绍反向代理的概念负载常见算法,LVSngnix区别

51.负载多服务器之间如何通信。

52.网站高并发情况,你会怎么处理?(数据层,业务逻辑层)

53.对中间件的了解

54.了解过ACM吗?

55.了解NIO吗?说说有点

56.知道网络编程吗?说说分布式。

57.并发:常用的并发类,原子操作的那几个类AtomicInteger,还有volatile关键字是否能够解决并发问题

58.一个 -100.01double 在内存中怎么存储的.一个中文String 在内存中占多少字节utf-8 / GBK

59.锁与synchronized区别.

60.简单的写了一个单例的程序.

二.J2EE

1.   servlet:流程 ,服务器和session的联系cookiesession的区别

2.   springmvc:流程 处理请求是哪一个类,有些什么方法,它实现了什么接口

3.   spring:两个特性解释,哪些地方用到aop声明式事务管理的步骤(每一步相关的类)

4.   Struts2项目中浏览器客户端从发送request请求到后台服务器响应的整个流程,所用到的类

5.   传统的mvc框架,通过单一入口,如何加载所需控制器

6.   JSP 9大内置对象

7.    什么是RPC框架,有什么优点

8.   MyBatisHibernate的区别

9.   Spring事务是怎么实现的

10.Struts框架的底层实现机制,

11.jsp从发起访问到浏览器渲染出页面的整个过程,以及在这个过程中tomcat所做的动作等。

12.Springaopioc怎么实现的,怎么读取配置文件的。

13.Hadoop

 

三.数据库

1.   数据库:分页的sqlleft joinright join的区别

2.   数据库分表,分区

3.   mysql方面的,引擎,如何建立适合的索引,热备

4.   对所用框架的model封装的看法

5.   事务  银行转账例子。。   ab不在同一个库里面的事务设计。mysql怎么做。自己写代码怎么实现

6.   你是怎么设计数据库的

7.   数据库索引有哪些索引基于哪些类型实现

8.   你是怎么根据索引去数据库优化

9.   mysql连接池作用,实现

10.分布式数据库怎么分表,用的什么中间价

11.MySQL:性能优化

A.       然后我跟他说了下explain,然后他就问我explain之后的结构,以及每个字段的意义,问了下varchar底层占用的字节长度,还有 int 10这中,后面的10 是什么意义,还有myisam 以及innodb存储引擎的区别,底层索引的数据结构。

B.简单的说了一下垂直分表,水平分表(有几种模运算),读写分离.

 

12.mysql查看状态的命令,查看执行计划的命令.

四.计算机网络与操作系统

1.   tcp/ip区别 一个方法要同步怎么办  ,怎样实现线程

2.   linux服务器项目如何部署,LINUXlngrepAWK及常用命令

3.   不同操作系统实现进程怎么样

4.   tcpudp的不同之处

5.   tcp如何保证可靠的

6.   浏览器输入www.baidu.com,整个流程

7.   tcp三次握手,四次挥手

8.   tcp滑动窗口解释

9.   HTTP状态码

10.httppostget区别

11.怎么预防死锁,出现死锁怎么解决

12.平时写struts2的话,是怎么开发的

13.servletjsp的区别

 

五.其他

1. 10只小白鼠,1000杯水,有一杯有毒,如何用比较好的方法找出,脑洞题,101000的数学关系。

2. 一个数组,无序的正整数,一个常量S,找出比S大的最短子序列

3. 两个有序数组,如何合并成一个新的有序数组

4. JTA实现原理(onepc two pcthree pc):二阶段提交出现的问题,就说了一下加入observe,,后面讨论了下二阶段提交的脑列问题

5. 讨论了支付宝抢红包的采取了哪些优化,事务基于几阶段提交...

6. 项目的特点,优化,遇到了什么问题,怎么解决的

7.两个数组一个100长度,一个101长度,前一个是后一个的子集。怎样找出多出的一个数

8. 看过哪些书籍,说说作者和书的名字

9. 二面主要考察分析和解决问题的能力。自我介绍时面试官让我着重介绍一下自己的优缺点。主要从简历上面的项目考察,拿一个具体的项目,问你在这个项目中遇到的最大的难题,怎么解决的。怎么和团队的开发进行协作的,出现分歧怎么解决(沟通交流啊~~)等。

10. 设计题。40亿qq号,20w/s QPS,设置怎么存储,怎么解决请求。单机是32G内存,1T硬盘,抗5w/s极限请求。特别想知道是怎么设置存储,减低存储量和怎么查找快(半个小时,在纸上画,还算这样设置占了多少内存,多少硬盘,数据结构是怎样的。。)

11. 字符串逆序

12. 平时看哪些书和博客,关注了哪些牛人的博客,看了哪些开源代码

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值