前言
- JVM 内存模型一共包括三个部分:
- 堆 ( Java代码可及的 Java堆 和 JVM自身使用的方法区)、
- 栈 ( 服务Java方法的虚拟机栈 和 服务Native方法的本地方法栈 )
- 保证程序在多线程环境下能够连续执行的程序计数器
特别地,我们当时就提到Java堆是进行垃圾回收的主要区域,故其也被称为GC堆;而方法区也有一个不太严谨的表述,就是永久代。总的来说,堆 (包括Java堆 和 方法区)是 垃圾回收的主要对象,特别是Java堆。
实际上,Java技术体系中所提倡的 自动内存管理 最终可以归结为自动化地解决了两个问题:给对象分配内存 以及回收分配给对象的内存,而且这两个问题针对的内存区域就是Java内存模型中的堆区。关于对象分配内存问题,笔者的博文《JVM 内存模型概述》已经阐述了 如何划分可用空间及其涉及到的线程安全问题,本文将结合垃圾回收策略进一步给出 内存分配规则。另外,我们知道垃圾回收机制是Java语言一个显著的特点,其可以有效的防止内存泄露、保证内存的有效使用,从而使得Java程序员在编写程序的时候不再需要考虑内存管理问题。Java 垃圾回收机制要考虑的问题很复杂,本文阐述了其三个核心问题
一面(一个半小时)
-
首先自我介绍
-
了解Web层开发?数据库索引了解么?聚簇索引,非聚簇索引?索引分类?
-
了解数据库都由哪些引擎?分别有什么区别和使用场景?
-
了解分布式?高可用?如何保证节点集群的同步?Nginx了解过么?
-
什么是事务,数据库的隔离级别,Mysql默认的隔离级别。
-
JVM的内存模型,GC算法
-
非递归实现青蛙跳台阶(非递归斐波拉契数列)
-
判断链表是否有环,若有则返回环的入口节点
-
对象的重写和重载?
-
设计模式里面,单例模式?实现单例模式的双重校验。
-
epoll函数怎么理解?epoll函数在别的哪些地方有用到?
-
手撕:两个链表的重合第一个节点。
二面(一个小时)
-
自我介绍吧
-
项目介绍
-
进程与线程的区别
-
进程通信的方式
-
信号量是怎么实现的
-
URL分为哪些部分
-
浏览器输入URL发生了什么
-
DNS如何解析域名的
-
TCP的三次握手和四次挥手及其原因
-
手撕:有时间区间,判断昨天送外卖的峰值。(这个题做了快三十分钟,主要是外卖订单可能是前天的,昨天的或者今天的)。
-
死锁的原因及如何解决
-
常见的I/O模式,同步和异步的区别
三面(四十分钟)
-
自我介绍
-
实习项目
-
请总结实习学到的三个点
-
类似于百度地图,如何求A地到B地的路径,刚开始被面试官套路了,用各种分类讨论了半天,最后才发觉面试官想问的是有向图求最短路径?说了一下方法是什么?迪杰斯特拉算法作用,复杂度?
-
智力题:一天24小时,时针和分针会重合几次?
-
智力题:四个人打牌,钱都被风刮到地上,每个人都知道自己多少钱,你只知道总数。请问你能帮他们都分准钱吗,其中每个人都可能说谎。
-
还有啥问题?
HR面
-
自我介绍
-
为啥想来美团?对美团了解多少?
-
心中的互联网公司排序啊
-
腾讯和美团选哪个啊
-
自己的优点和缺点
-
还有什么问题 ?
一线互联网大厂Java核心面试题库
自己的优点和缺点
- 还有什么问题 ?
一线互联网大厂Java核心面试题库
[外链图片转存中…(img-S7kBTT3c-1615880239251)]
正逢面试跳槽季,给大家整理了大厂问到的一些面试真题,由于文章长度限制,只给大家展示了部分题目,更多Java基础、异常、集合、并发编程、JVM、Spring全家桶、MyBatis、Redis、数据库、中间件MQ、Dubbo、Linux、Tomcat、ZooKeeper、Netty等等…已整理上传在我的腾讯文档【一线互联网大厂Java核心面试题库】点击即可领取,并会持续更新…感兴趣的朋友可以看看支持一波!