美文网首页JavaJava 杂谈
联想高级Java研发面经+面试题:Spring+多线程+MySQ

联想高级Java研发面经+面试题:Spring+多线程+MySQ

作者: Java_苏先生 | 来源:发表于2019-07-09 15:41 被阅读28次

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

    然后就整理了一下,写了这篇文章;和大家分享一下这次面试经验和面试题。

    这个是我在网上找的一个联想的Java开发工程师招聘

    薪资还可以啊,年薪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
    • 请思考一个方案,设计一个可以控制缓存总体大小的自动适应的本地缓存

    未完待续...

    写在最后

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

    相关文章

      网友评论

        本文标题:联想高级Java研发面经+面试题:Spring+多线程+MySQ

        本文链接:https://www.haomeiwen.com/subject/vzwxkctx.html