Java面试虐人大法

前言

我发现一个奇怪的现象:那些跳槽的人,总是从一个坑,跳进令一个坑中。毕竟过去了,会的还是原来的知识,人的身价就摆在那里,无论怎么折腾,也不会拿到更好的offer。这样的跳槽其实没有意义,也许就有人问,现在都是互联网寒冬了,要怎样才能把握好机会,拿到跟好跟适合自己的offer呢?技术才是我们程序员的立身之本,在再好的机遇面前我们也要有这个实力去抓住它。

快到年后跳槽季,假如我是面试官,我会这样虐你,在这我整理了一些大型互联网公司面试部分常问的面试题及面试经验总结(答案文末获取及更多架构面试专题资料领取!),希望在你的求职路上有一定的帮助。也希望这份面试题能够祝你一臂之力!

自我和项目相关

自我介绍

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

你有哪些 offer?

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

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

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

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

你在项目中是什么角色?

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

这个项目用的什么技术?

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

是怎么解决的这些问题?

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

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

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

Java 基础

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

Integer 的常量缓存池

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

重载重写的区别?

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

HashMap 中怎么解决冲突的?

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

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

讲下 Synchronized?

讲下 ReentrantLock 可重入锁? 什么是可重入锁?为什么要设计可重入锁?

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

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

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

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

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

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

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

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

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

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

JVM

JAVA 类加载器

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

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

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

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

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

说下你知道的垃圾收集器

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

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

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

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

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

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

Spring

说下你对 Spring 生态的了解?

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

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

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

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

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

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

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

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

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

数据库

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

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

说下 MySQL 的索引原理

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

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

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

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

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

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

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

其他

描述下网页一个 Http 请求,到后端的整个请求过程

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

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

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

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

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

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

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

总结

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要连接人大金仓数据库,你需要使用Java的JDBC驱动程序。根据引用,人大金仓数据库的JDBC驱动程序的包名为com.kingbase.Driver。你可以在代码中通过引用该驱动程序来建立连接。在你提供的代码中,可以看到连接人大金仓数据库的相关信息已经被设置好了。其中,url是数据库的地址和名字,user和password是登录数据库的用户名和密码。你只需要确保这些信息正确无误即可。 在你的代码中,通过引用中的建立连接类可以看到,首先需要注册驱动程序,然后使用DriverManager.getConnection方获取连接对象。在获取到连接对象之后,你就可以执行SQL语句了。 例如,如果你想要向人大金仓数据库的TB_SYS_CONFIGURE表中添加数据,你可以使用INSERT INTO语句,如引用所示。在这个语句中,你可以指定要插入的字段和对应的值。 注意,为了确保连接成功和关闭连接,你需要在适当的地方添加异常处理和关闭连接的代码。 以下是一个示例代码,展示了如何连接人大金仓数据库并添加数据: ```java import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.SQLException; public class Main { public static void main(String[] args) { String url = "jdbc:kingbase://192.168.0.211:54322/TEST"; String driver = "com.kingbase.Driver"; String user = "SYSTEM"; #### 引用[.reference_title] - *1* [人大金仓数据库 jdbc](https://download.csdn.net/download/z343929897/18910777)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [人大金仓数据库总结(SQL和JDBC)](https://blog.csdn.net/qq_18769269/article/details/82775937)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值