假如我是面试官,我会这样虐你

更新日期: 2019-02-06阅读: 2.4k标签: 面试

又是金三银四的时候,我希望这份面试题能够祝你一臂之力!


自我和项目相关

1、自我介绍

2、你觉得自己的优点是?你觉得自己有啥缺点?

3、你有哪些 offer?

4、你为什么要离开上家公司?你上家公司在xxx,我们公司在xxx,离这么远为什么要选择我们这里?

5、上家公司的同事和领导是怎么评价你的?

6、介绍下你的上家公司是做哪块的吧

7、在上家公司你做了哪些项目?

8、你在项目中是什么角色?

9、这个项目的数据量和并发量多大?

10、这个项目用的什么技术

11、项目过程中有遇到什么很印象深刻的问题吗?

12、是怎么解决的这些问题?

13、项目有没有还可以继续优化的地方?

14、该怎么优化?有什么思路没?

15、叫你设计一个并发xxx,数据存储量xxx 量级的系统,你该如何设计?从你知道的点尽可能的多说出些?


Java 基础

1、Object 对象的方法有哪些?分别有什么作用?该什么场景用?

2、Integer 的常量缓存池

3、Java 特性?什么是多态?举个例子

4、重载重写的区别?

5、画下 HashMap 的结构图?HashMap 、 HashTable 和 ConcurrentHashMap 的区别?使用场景分别是?

6、HashMap 中怎么解决冲突的?

7、ConcurrentHashMap 和 HashTable 中线程安全的区别?为啥建议用 ConcurrentHashMap ?能把 ConcurrentHashMap 里面的实现详细的讲下吗?

8、保证线程安全的还有其他的方式吗?

9、讲下 Synchronized?

10、讲下 RecentLock 可重入锁? 什么是可重入锁?为什么要设计可重入锁?

11、Synchronized 和 RecentLock 有什么区别?这两个有没有深入了解源码?

12、讲下 Volatile 吧?他是怎样做到同步的?

13、Volatile 为什么不支持原子性?举个例子

14、Atomic 怎么设计的?有用过里面的类吗?

15、线程安全类和线程不安全的类,项目使用的时候你会怎么选择?怎么判断项目代码哪里会有线程不安全问题?

16、Map、List、Set 分别说下你了解到它们有的线程安全类和线程不安全的类?

17、TreeSet 清楚吗?能详细说下吗?

18、ThreadLocal 了解吗?项目有用过吗?可以说说

19、JUC 里面你还知道什么其他的类吗?比如 CountDownLatch、Condition

20、从源码详细说下 Java 里面的线程池吧,使用线程池有什么要注意的地方?你们公司有规范吗?


JVM

1、JAVA 类加载器

2、Java 内存结构(注:不是 Java 内存模型,别搞混)

3、怎么判断对象是否可 GC?Java 对象有哪些引用类型?有什么区别?

4、OOM 出现的有哪些场景?为什么会发生?

5、Minor GC 和 Full GC 有什么区别?分析过 GC 日志吗?

6、说下你知道的垃圾回收算法

7、说下你知道的垃圾收集器

8、CMS 和 G1 的区别知道吗?使用场景分别是?你项目中用的是哪个?

9、你还知道哪些 JVM 调优参数?

10、假如线上服务发生 OOM,有哪些措施可以找到问题?

11、假如线上服务 CPU 很高该怎么做?有哪些措施可以找到问题?

12、假如线上应用频繁发生 Full GC,有哪些措施可以找到问题?

13、一般线上环境遇到 JVM 问题,你会使用哪些工具来分析?找到问题后又该如何去解决呢?


Spring

1、说下你对 Spring 生态的了解?

2、说下你对 Spring AOP 和 IOC 的理解?看过实现原理吗?

3、说下 Bean 在 Spring 中的生命周期?

4、讲下你知道的 Spring 注解有哪些?该什么场景使用?

5、Spring 事务知道吗?有了解过吗?

6、说下你刚才说的 SpringBoot 吧,你觉得 SpringBoot 有什么优点?

7、SpringBoot 自动化配置是怎么做的?有看过实现源码吗?

8、Spring Boot 中最核心的注解 SpringBootApplication 有看过源码分析过吗?

9、你的项目中 SpringBoot 用到了哪些和其他技术栈整合的?

10、使用 Spring 或者 SpringBoot 有遇到过什么印象深刻的问题吗?当时是怎么解决的?


数据库

1、你的项目使用的是什么数据库?

2、你对数据库了解多少?说下数据库的索引实现和非主键的二级索引

3、说下 MySQL 的索引原理

4、讲下 InnoDB 和 MyISAM 的区别?使用场景是?

5、有和 ElasticSearch 的索引原理对比过吗?

6、如何判断一个查询 sql 语句是否使用了索引?

7、数据库事务特性和隔离级别

8、项目数据库表是你设计的吗?一般要注意什么?如何考虑扩展性?

9、项目 MySQL 的数据量和并发量有多大?量大后的影响有哪些,有考虑吗?SQL 调优有哪些技巧?

10、说下你项目里面关于数据库印象最深的一个问题?当时是怎么解决的


其他

1、描述下网页一个 Http 请求到 http://www.54tianzhisheng.cn/ 的整个请求过程

2、有比较过 Http 和 RPC 吗?如果叫你设计一个高性能的 Http 或者 RPC,你会从哪些方面考虑?

3、项目中我看使用了 xxx (ElasticSearch、Hbase、Redis、Flink 等),有深入了解它们的原理和懂点调优技巧吗?

4、项目中我看使用了 xxx (ElasticSearch、Hbase、Redis、Mysql 等),有深入了解它们数据同步是怎么做吗?

5、项目中我看使用了 xxx (ElasticSearch、Hbase、Redis、Mysql 等),有深入了解它们常见的监控指标吗?

6、如果叫你设计一个秒杀系统,你会从哪些方面考虑?

7、如果叫你设计一个电商系统,你会从哪些方面考虑?

8、如果叫你设计一个监控告警系统,你会从哪些方面考虑?


总结

本文的面试题以 HR & 技术官角度常问的面试题,技术方面从 Java 基础、JVM、Spring、数据库、拓展题等方面考察你,当然面试官可能还会问些其他的技术点,我一篇文章也难以概全。总的来说,还是得多准备充分,面试时灵活答辩,相信你最后能拿到满意的 offer!加油,骚年!


链接: https://www.fly63.com/article/detial/2265

Web前端年后跳槽面试复习指南

很多童鞋可能年后有自己的一些计划,比如换份工作环境,比如对职业目标有了新的打算。当然面试这一关不得不过,大概又不可能系统性的复习,这里罗列一些 重点 面试的知识点和文章,

前端面试之webpack面试常见问题

什么是webpack和grunt和gulp有什么不同?什么是bundle,什么是chunk,什么是module?什么是Loader?什么是Plugin?如何可以自动生成webpack配置?webpack-dev-server和http服务器如nginx有什么区别?

每个 JavaScript 工程师都应当知道的 10 个面试题

多问问应聘者高层次的知识点,如果能讲清楚这些概念,就说明即使应聘者没怎么接触过 JavaScript,也能够在短短几个星期之内就把语言细节和语法之类的东西弄清楚。

37个JavaScript基本面试问题和解答

面试比棘手的技术问题要多,这篇文章整理了37个JavaScript基本面试问题和解答,这些仅仅是作为指导。希望对前端开发的你有所帮助!

React常见面试题

React常见面试题:React中调用setState之后发生了什么事情?React中Element与Component的区别?优先选择使用ClassComponent而不是FunctionalComponent?React中的refs属性的作用是什么?React中keys的作用是什么?

有趣的Js面试题_如何让 (a == 1 && a == 2 && a == 3) 返回 true

题目大意为:JS 环境下,如何让 a == 1 && a == 2 && a == 3 这个表达式返回 true ?这道题目乍看之下似乎不太可能,因为在正常情况下,一个变量的值如果没有手动修改,在一个表达式中是不会变化的。

js练习笔记:10道JavaScript题目

10道JavaScript题目:累加函数addNum、实现一个Person类、实现一个arrMerge 函数、实现一个toCamelStyle函数、setTimeout实现重复调用、实现一个bind函数、实现一个Utils模块、输出一个对象自身的属性

vue菜鸟从业记:没准备好的面试,那叫尬聊

面试开场白总缺少不了自我介绍,一方面是面试官想听听你对自己的介绍,顺便有时间看看简历上的描述,是否与口述一致。另一方面就是看看你简历上做过什么项目,用到了哪些技术栈,一会儿好提问你。

毕业一年左右的前端妹子面试总结

把面试当做学习,这个过程你会收益很大。前端知识很杂,可能实际工作中用到的技术,像框架都是跟着公司的要求走的,像我最近也在看React啦,Vue和React都对比着再学习

vue面试时需要准备的知识点

vue上手可以说是比较轻松而且简单,如果你用过angular,react,你也会很喜欢vue。vue的核心思想依旧是:构建用户界面的渐进式框架,关注视图的变化。这也是为什么新建的文件是结构是template script style

点击更多...

内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权或违规,请与小编联系!情况属实本人将予以删除!