2023,可谓是招聘面试最难季。不少大厂,如腾讯、字节的招聘名额明显减少,面试门槛却一再拔高,如果不用心准备,很可能就被面试官怼得哑口无言。今天不谈其它,就说说我作为面试官面试的那些事儿。
从某电商项目负责人的算起,再到后来的首席架构师,我前前后后面试了至少 300 多位求职者。不敢说成功入职的每个同事都发展得特别好,但大部分人来说还是很不错的。
过硬的技术功底是最起码的考核要求。不少来应聘的朋友底子还是有的,但知识面太窄了。那么对于互联网大厂,尤其是电商行业来说,都会重点考核哪些呢?最近我将这些年自己常问的考核知识整理了一下,不下 100 道,其中涵盖了不少大厂必考点、高频点、加薪点,这些也是作为开发人来说日常项目中经常遇到的踩坑点。
为了方便大家,我把这些点做了一个归类,我把关于这些问题的拆解与思考,整理成一个 pdf,限于篇幅,这里就不一一列出了。需要的同学可以文末领取,希望能从中有所启发、收获。
这里直接给大家分享这些面试真题 ,具体有:
JVM
-
java 中会存在内存泄漏吗,请简单描述。
-
64 位 JVM 中,int 的长度是多数?
-
Serial 与 Parallel GC 之间的不同之处?
-
32 位和 64 位的 JVM,int 类型变量的长度是多数?
-
Java 中 WeakReference 与 SoftReference 的区别?
-
JVM 选项 -XX:+UseCompressedOops 有什么作用?为什么要使用
-
怎样通过 Java 程序来判断 JVM 是 32 位 还是 64 位?
-
32 位 JVM 和 64 位 JVM 的最大堆内存分别是多数?
-
JRE、JDK、JVM 及 JIT 之间有什么不同?
-
解释 Java 堆空间及 GC?
-
JVM 内存区域
-
程序计数器(线程私有)
-
虚拟机栈(线程私有)
-
本地方法区(线程私有)
-
你能保证 GC 执行吗?
-
怎么获取 Java 程序使用的内存?堆使用的百分比?
-
Java 中堆和栈有什么区别?
-
描述一下 JVM 加载 class 文件的原理机制
mysql
-
数据库存储引擎
-
InnoDB(B+树)
-
TokuDB( Fractal Tree-节点带数据)
-
MyIASM
-
Memory
-
数据库引擎有哪些
-
InnoDB 与 MyISAM 的区别
-
索引
-
常见索引原则有
-
数据库的三范式是什么
-
第一范式(1st NF - 列都是不可再分)
-
第二范式(2nd NF- 每个表只描述一件事情)
-
第三范式(3rd NF- 不存在对非主键列的传递依赖)
-
数据库是事务
-
SQL 优化
-
简单说一说 drop、delete 与 truncate 的区别
-
什么是视图
-
什么是内联接、左外联接、右外联接?
-
并发事务带来哪些问题?
Redis
-
什么是 Redis?
-
Redis 与其他 key-value 存储有什么不同?
-
Redis 的数据类型?
-
使用 Redis 有哪些好处?
-
Redis 相比 Memcached 有哪些优势?
-
Memcache 与 Redis 的区别都有哪些?
-
Redis 是单进程单线程的?
-
一个字符串类型的值能存储最大容量是多少?
-
Redis 持久化机制
-
缓存雪崩、缓存穿透、缓存预热、缓存更新、缓存降级等问题
-
热点数据和冷数据是什么
-
单线程的 redis 为什么这么快
-
redis 的数据类型,以及每种数据类型的使用场景
-
redis 的过期策略以及内存淘汰机制
-
Redis 常见性能问题和解决方案?
-
为什么 Redis 的操作是原子性的,怎么保证原子性的?
-
Redis 事务
-
Redis 的持久化机制是什么?各自的优缺点?
MongoDB
-
mongodb 是什么?
-
mongodb 有哪些特点?
-
你说的 NoSQL 数据库是什么意思?NoSQL 与 RDBMS 直接有什么区别?为什么要使用和不使用 NoSQL 数据库?说一说 NoSQL 数据库的几个优点?
-
NoSQL 数据库有哪些类型?
-
MySQL 与 MongoDB 之间最基本的差别是什么?
-
你怎么比较 MongoDB、CouchDB 及 CouchBase?
-
MongoDB 成为最好 NoSQL 数据库的原因是什么?
-
journal 回放在条目(entry)不完整时(比如恰巧有一个中途故障了)会遇到问题吗?
-
分析器在 MongoDB 中的作用是什么?
-
名字空间(namespace)是什么?
-
如果用户移除对象的属性,该属性是否从存储层中删除?
-
能否使用日志特征进行安全备份?
-
允许空值 null 吗?
-
更新操作立刻 fsync 到磁盘?
-
如何执行事务/加锁?
-
为什么我的数据文件如此庞大?
-
启用备份故障恢复需要多久?
-
什么是 master 或 primary?
Dubbo
-
为什么要用 Dubbo?
-
Dubbo 的整体架构设计有哪些分层?
-
默认使用的是什么通信框架,还有别的选择吗?
-
服务调用是阻塞的吗?
-
一般使用什么注册中心?还有别的选择吗?
-
默认使用什么序列化框架,你知道的还有哪些?
-
服务提供者能实现失效踢出是什么原理?
-
服务上线怎么不影响旧版本?
-
如何解决服务调用链过长的问题?
-
说说核心的配置有哪些?
-
Dubbo 推荐用什么协议?
-
同一个服务多个注册的情况下可以直连某一个服务吗?
-
画一画服务注册与发现的流程图?
-
Dubbo 集群容错有几种方案?
-
Dubbo 服务降级,失败重试怎么做?
-
Dubbo 使用过程中都遇到了些什么问题?
-
Dubbo Monitor 实现原理?
-
Dubbo 用到哪些设计模式?
-
面试软实力
-
为什么说简历很重要?
-
先从面试来说
-
再从面试说起
-
必知必会的几点
-
必须了解的两大法则
-
项目经历怎么写?
-
专业技能怎么写
-
排版注意事项
-
其他一些小 tips
-
你对我们公司有什么想问的吗?
-
很多人都倒在自我介绍上
-
如何与 HR 交谈,如何谈薪水
-
HR 最喜欢问程序员的 20 个问题
-
面试中的礼仪与举止
-
Java 基础
-
面向对象和面向过程的区别
-
八种基本数据类型的大小,以及他们的封装类
-
标识符的命名规则。
-
instanceof 关键词的作用
-
Java 自动装箱与拆箱
-
重载和重写的区别
-
equals 与==的区别
-
Hashcode 的作用
-
Java 创建对象有几种方式?
-
获取一个类 Class 对象的方式有哪些?
-
ArrayList 和 LinkedList 的区别有哪些?
-
用过 ArrayList 吗?说一下它有什么特点?
-
有数组了为什么还要搞个 ArrayList 呢?
-
说说什么是 fail-fast?
-
说说 Hashtable 与 HashMap 的区别
-
HashMap 的长度为什么是 2 的 N 次方呢?
-
HashMap 与 ConcurrentHashMap 的异同
-
红黑树有哪几个特征?
-
说说你平时是怎么处理 Java 异常的
-
说一下深拷贝和浅拷贝?
-
JVM
-
多线程并发
-
Spring 篇
-
什么是 spring?
-
你们项目中为什么使用 Spring 框架?
-
Autowired 和 Resource 关键字的区别?
-
依赖注入的方式有几种,分别是什么?
-
说说你对 Spring MVC 的理解
-
SpringMVC 常用的注解有哪些?
-
谈谈你对 Spring 的 AOP 理解
-
Spring AOP 和 AspectJ AOP 有什么区别?
-
Spring 框架中的单例 Bean 是线程安全的么?
-
Spring 是怎么解决循环依赖的?
-
说说事务的隔离级别
-
说说事务的传播级别
-
Spring 事务的实现方式
-
Spring 框架的事务管理有哪些优点?
-
事务三要素是什么?
-
事务注解的本质是什么?
-
MyBatis
-
SpringBoot
-
为什么要用 SpringBoot
-
Spring Boot 的核心注解是哪个?它主要是由哪几个注解组成的?
-
运行 Spring Boot 有哪几种方式?
-
如何理解 Spring Boot 中的 Starters?
-
如何在 Spring Boot 启动的时候运行一些特定的代码?
-
Spring Boot 需要独立的容器运行吗?
-
Spring Boot 中的监视器是什么?
-
如何使用 Spring Boot 实现异常处理?
-
你如何理解 Spring Boot 中的 Starters?
-
springboot 常 用的 starter 有哪些
-
SpringBoot 实现热部署有哪几种方式?
-
如何理解 Spring Boot 配置加载顺序?
-
如何集成 Spring Boot 和 ActiveMQ?
-
MySQL
-
数据库的三范式是什么
-
MySQL 数据库弓|擎有哪些
-
说说 InnoDB 与 MyISAM 的区别
-
数据库的事务
-
索引是什么
-
SQL 优化手段有哪些
-
简单说一说 drop. delete 与 truncate 的区别
-
什么是视图
-
什么是内联接、左外联接、右外联接?
-
并发事务带来哪些问题?
-
事务隔离级别有哪些?MySQL 的默认隔离级别是?
-
大表如何优化?
-
MySQL 索引类型有哪些?
-
什么时候不要使用索引呢?
-
说说什么是 MVCC?
-
MVCC 可以为数据库解决什么问题?
-
说说 MVCC 的实现原理
-
MySQL 事务隔离级别?
-
请说说 MySQL 数据库的锁?
-
说说什么是锁升级?
-
说说悲观锁和乐观锁
-
怎样尽量避免死锁的出现?
-
使用 MySQL 的素引应该注意些什么?
-
CHAR 和 VARCHAR 的区别?
-
主键和候选健有什么区别?
-
主键与素引有什么区别?
-
MySQL 如何做到高可用方案?
-
微服务
-
Nginx&MQ
-
Linux
-
绝对路径用什么符号表示?当前目录、 上层目录用什么表示?目录用什么表示?切换目录用什么命令?
-
怎么查看当前进程? 怎么执行退出?怎么查看当前路径?
-
查看文件有哪些命令
-
列举几个常用的 Linux 命令
-
你平时是怎么查看日志的?
-
ZK
-
Redis
-
为什么要用缓存
-
使用 Redis 有哪些好处?
-
什么是 Redis?
-
为什么使用 Redis 而不是用 Memcache 呢?
-
为什么 Redis 单线程模型效率也能那么高?
-
说说 Redis 的线程模型
-
为什么 Redis 需要把所有数据放到内存中?
-
Redis 的同步机制了解是什么?
-
pipeline 有什么好处,为什么要用 pipeline?
-
Redis 持久化方式有哪些?以及有什么区别?
-
持久化有两种,那应该怎么选择呢?
-
怎么使用 Redis 实现消息队列?
-
说说你对 Redis 事务的理解
-
Redis 为什么设计成单线程的?
-
什么是 bigkey?会存在什么影响?
-
熟悉哪些 Redis 集群模式?
-
Memcache 与 Redis 的区别都有哪些?
-
单线程的 redis 为什么这么快
-
redis 的数据类型,以及每种数据类型的使用场景
-
redis 的过期策略以及内存淘汰机制
-
Redis 为什么是单线程的
-
Redis 常见性能问题和解决方案?
-
为什么 Redis 的操作是原子性的,怎么保证原子性
-
分布式
-
网络
-
HTTP 响应码有哪些?分别代表什么含义?
-
Forward 和 Redirect 的区别?
-
Get 和 Post 请求有哪些区别?
-
说说 TCP 与 UDP 的区别,以及各自的优缺点
-
说一下 HTTP 和 HTTPS 的区别
-
说说 HTTP、TCP、Socket 的关系是什么?
-
说一下 HTTP 的长连接与短连接的区别
-
TCP 为什么要三次握手,两次不行吗?为什么?
-
说一下 TCP 粘包是怎么产生的?怎么解决粘包问题
-
如何理解 HTTP 协议是无状态的?
-
什么是长连接和短连接?
-
长连接和短连接的优缺点?
-
说说长连接短连接的操作过程
-
说说 TCP 三次握手和四次挥手的全过程
-
OSI 的七层模型都有哪些?
-
OSI 这样分层有什么好处?
-
说说 TCP/IP 四层网络模型
-
说说域名解析详细过程?
-
IP 地址分为几类,每类都代表什么,私网是哪些?
-
设计模式
-
说说什么是单例模式
-
说说你对代理模式的理解
-
说说工厂模式
-
抽象工厂模式
-
装饰器模式是什么
-
代理模式和装饰器模式有什么区别?
-
模板方法模式
-
知道享元模式吗?
-
元模式和单例模式的区别?
-
说说策略模式在我们生活中的场景?
-
知道是责任链模式吗?
-
了解过适配器模式么?
-
知道观察者模式吗?
-
Maven&Tomcat&ES&Git
最后
我们从踏入这一行开始,职业生涯里肯定会遇到很多场大大小小的面试,不管是凯旋还是败北,每一次面试都会是我们的提升的一个机会!
本文链接:https://my.lmcjl.com/post/4369.html
4 评论