转载

联想高级Java研发面经+面试题:Spring+多线程+MySQL+设计模式

联想高级Java研发面经+面试题:Spring+多线程+MySQL+设计模式

上个礼拜,之前的一个同事突然联系我说他去面了联想的JAVA开发工程师,想分享一下面试经历和面试题。我当时就拍板说,好啊!

然后就整理了一下,写了这篇文章;和面试题。

联想高级Java研发面经+面试题:Spring+多线程+MySQL+设计模式

薪资还可以啊,年薪40W+啊!多少人的梦想啊!

言归正传,和大家分享一下这次联想的面经和面试题:

联想面经:

  • 第一轮:电话初面
  • 第二轮:技术面谈
  • 第三轮:高管复试
  • 第四轮:HR最后确认

No.1:第一轮面试——电话初面

首先确认对联想的意向度(如果异地更会考虑对工作地点(北京)的意向度!联想很看重这个);其次面试官一般会针对您所做过的项目来做具体技术的交流,会比较关注个人对项目细节是不是掌握到位,重点考察 Java的技术基础和原理 ,比如Spring框架以及数据库和JVM三个方面,也会交流到 多线程、设计模式 等等,重点考察是不是有比较钻研技术和技术上的亮点(不一定每个面都很厉害但一定要有亮点);

No.2:第二轮面试——技术面试

根据项目深入的了解技术实力,了解您的知识面,了解您的 问题解决能力 以及 技术灵活运用能力 ,也通过这一过程考察团队合作能力、学习主动性和创新性,可以挑选2-3个做过的有典型性的项目做一个仔细 技术回顾和自己独到的理解(这会成为您的加分项);

No.3 :第三轮面试——高管复试

他们最后的高管复试会涉及到相关的技术问题,大部分是对你的整体价值观做宏观的把控(比如上进心,责任心,心态,工作激情等)

No.4 :第四轮面试——HR面

基本就是从大方向了解一下您的心态、抗压能力,工作中的角色、未来大致的规划以及对阿里的意向度

四面总结:

技术基础以及原理的问题多看看书准备下就行了,不懂的直接说不懂没关系的;在项目细节上多把关一下,根据项目有针对性的谈自己的技术亮点,能表达清楚,可以引导面试官来问你比较擅长的技术问题,个人就可以尽情发挥!

联想比较喜欢的人才特点:对技术有热情,强硬的技术基础实力;主动,善于团队协作,善于总结思考。

其实这次的面试题才是这次面试的重点;当然这也感谢我的这个朋友,在面试回来的第一时间就整理了面试题,这才有了这次分享!

联想高级Java研发面试题

No.1 :笔试题

1. Spring DAO 中最常用的类是?

答案:JdbcTemplate ,SimpleJdbcTemplate

2. 关于"@Order"注解,最正确的描述是?

答案:实现org.springframework.core.Ordered接口

3. 如何在Spring应用中使用SLF4J?

答案:作为日志框架

4. Spring bean 的默认作用范围是?

答案:Singleton

5. Spring中,单例意味着每_____只有一个实例

答案:Context

6. "@RequestMapping是Spring中的哪一部分

答案:Web MVC

7. 使用@Required但不关联bean 来注解setter方法,将会发生?

答案:启动异常

8. 已知一棵二叉树前序遍历和中序遍历分别为ABDEGCFH和DBGEACHF,则该二叉树的后序遍历为

答案:DGEBHFCA

9. 面向对象方法中,继承是指

答案:类之间共享属性和操作的机制

10. 栈和队列的共同点是

答案:只允许在端点处插入和删除元素

11. volatile关键字是否能保证线程安全?

答案:否

12. Java能不能不通过构造函数创建对象

答案:能

13. 当检索一个压缩文件时,首先要建立压缩文件输入流对象,该对象

答案:以FileInputStream对象为参数

14. Java程序的并发机制是?

答案:多线程

No. 2:多线程

  • 什么是线程
  • 多线程的优点
  • 多线程的几种实现方式
  • 多线程中的忙循环是什么
  • 如何创建一个线程
  • 编写多线程程序有几种实现方式
  • 什么是线程局部变量
  • 线程和进程有什么区别?进程间如何通讯,线程间如何通讯
  • 什么是多线程环境下的伪共享(false sharing)
  • 同步和异步有何异同,在什么情况下分别使用他们?举例说明

No. 3:设计模式

  • 什么是设计模式(Design Patterns)?你用过哪种设计模式?用在什么场合
  • 你知道哪些商业级设计模式?
  • 哪些设计模式可以增加系统的可扩展性

No. 4:单例模式

  • 除了单例模式,你在生产环境中还用过什么设计模式?
  • 写 Singleton 单例模式
  • 单例模式的双检锁是什么
  • 如何创建线程安全的 Singleton
  • 什么是类的单例模式
  • 写出三种单例模式实现

No. 5:开放问题

  • 线上系统突然变得异常缓慢,你如何查找问题
  • 什么样的项目不适合用框架
  • 新浪微博是如何实现把微博推给订阅者
  • 简要介绍下从浏览器输入 URL 开始到获取到请求界面之后 Java Web 应用中发生了什么
  • 请你谈谈SSH整合
  • 高并发下,如何做到安全的修改同一行数据
  • 12306网站的订票系统如何实现,如何保证不会票不被超卖
  • 网站性能优化如何优化的
  • 聊了下曾经参与设计的服务器架构
  • 请思考一个方案,实现分布式环境下的 countDownLatch
  • 请思考一个方案,设计一个可以控制缓存总体大小的自动适应的本地缓存

写在最后

  • 第一:看完点赞,感谢您的认可;
  • ...
  • 第二:随手转发,分享知识,让更多人学习到;
  • ...
  • 第三:记得点关注,每天更新的!!!
  • ...

由于篇幅有限,部分答案就不做全部展示了,这些面试题的答案我已经整理成PDF文档了,同时也整理了一些问题详解;虽然说花了一点时间,但是我也愿意把它免费分享出来,希望能够帮助到有需要的Java工程师朋友,也省的大家再去网上花时间找资料。

平台限制,不能直接发链接, 需要的朋友可以加QQ群:963944895,私聊管理员免费获取

最后,希望看到朋友动动手指,帮忙转发一下,这样会帮助到更多的朋友

祝大家学习愉快!

原文  https://segmentfault.com/a/1190000019709784
正文到此结束
Loading...