栋先生

java程序员

mo9 2年java面试总结

mo9是一家做数字货币交易所的公司,在4月份的时候自己去mo9参加了java开发的面试。mo9的面试更加注重基础,问了很多java基础方面的知识。下面将面试的一些问题做个记录,以供大家参考。

在面试的过程中,面试官会根据你的回答来不断的深入问你,来考察你对知识理解的深度。

java基础相关问题

  1. String s1= ‘abc’ 和 String s2 = new String(‘abc’);共创建了几个对象,两种写法有什么区别。
  2. 然后又聊到怎么判断两个对象相等,equals和hashcode的区别和用法。
  3. 根据hashcode又拓展到了hashmap,问了关于hashmap的一些特性和put方法、扩容、重新序列化等关键操作的具体实现。如果key是null的时候,put会是什么样的操作。jdk1.7和jdk1.8中hashmap的一些变化,1.8版本的hashmap会涉及到红黑树。

多线程

  1. 如何实现线程安全的hashmap?
  2. synchronized和lock的区别?lock常见的一些实现,重入锁的使用的实现方式。
  3. java里面实现线程的方式有哪几种?
  4. Thread中run方法和start方法的区别?怎么停止一个线程,Thread类中各个api的用法,常用的四种线程池有哪些?
  5. 生产者消费者有哪些实现方式。
    使用wait和notify怎么实现,使用阻塞队列实现生产者消费者,使用lock和condition实现生产者消费者等。
  6. wait和notify为什么必须要在synchronized中写呢,实现原理?
  7. 悲观锁和乐观锁。乐观锁优化,比如账户中只有100元,分别在3个不同的商家中购买了3种不同的商品,每个商品40元,需要同时扣款,怎么样可以做到效率最高。

jvm

类加载器和类加载机制。

java框架类

Spring的AOP的实现原理?jdk动态代理和cglib动态代理的区别?

数据库

  1. 事务的隔离级别
  2. 事务的传播机制

自己在多线程这块有些欠缺,有些问题不太懂,然后答得也不太好,基本是没戏了。在面试完后,得知面试官比我大一届,同时也给我许多建议。
他让我注重基础,多去想一些底层的东西的实现原理。而不是去关心一些新技术,去写一些框架的demo,这样的话对自己提升其实是没太多用处的。特别感谢面试官大哥对我一些建议。

阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u012839098/article/details/80158792
个人分类: 个人杂谈
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

不良信息举报

mo9 2年java面试总结

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭