高级软件工程师面试问题

说一下对Java的看法。
说一下对于多线程的理解。
说一下对于线程安全的理解。
说一下死锁如何发生的,举个例子。
Equals()和==的区别是什么,举个例子。
HashCode是做什么用的,详细说明。
HashTable和HashMap的区别是什么。
开发中有没有碰到多线程出问题,举个例子。
开发中有没有对性能进行优化的经验,举个例子。
说一下Overload和Override。
说一下CheckedException和UnchekedException。
将一个单向链表反向,想想如何实现,要求占用内存尽可能小。
找出一个Stack中的最小的数据,但是不能破坏Stack,想想如何实现,要求占用内存尽可能小。
多线程有几种实现方法,都是什么。有什么不同。
在项目中你遇到哪些技术问题,是如何解决的。
在项目中用到过哪些设计模式。
具体说一下装饰模式。
为什么离职。

说一下最近五年的规划。


0. 一般少不了自我介绍和项目介绍。

    教育背景、工作经历、项目经验。好的面试官会认真听取一个项目的开发设计,讲的好坏,可能已经决定是否成功。

1. Java内存模型;

    堆、栈

2. JVM垃圾回收机制;

    扫描清除法,

3. Hashtable与HashMap有什么区别?Hashtable与并发包中的ConcurrentHashMap有什么区别?sychronized与Lock有什么区别?为什么Lock效率高?

4. 设计模式有哪些?各是什么含义?说一些Spring或JDK中用到的设计模式?

5. Spring IOC什么意思?AOP什么意思?怎么理解的?

6. List<Object> list = new ArrayList<String>();可以吗?为什么?

7. OutOfMemoryError之后JVM会退出吗?为什么?Error、RuntimeException有什么区别?

8. SpringMVC Controller是线程安全吗?如果你设计,你会怎样设计?为什么?

9. 如何实现序列化?如果让你自定义序列化,你该怎么做?需要实现什么方法?


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值