java常用数据结构面试题,docker教程学习

前言

JVM对实际简单开发的来说关联的还是不多,一般工作个一两年(当然不包括爱学习的及专门做性能优化的什么的),很少有人能很好的去学习及理解什么是JVM,以及弄清楚JVM的工作原理,其实我个人认为这块还是非常有必要去认真了解及学习的,特别是刚入门或入门不久的Java开发来说,这是Java的基石。

其次,从各大招聘平台来看,一线互联网企业招聘需求(尤其是阿里巴巴),第一条就明确了要掌握JVM原理,因为JVM是中高级程序员必须要掌握的技术,学JVM也是为了更深入地理解Java以及更好的解决线上排查问题。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

网上有关Java虚拟机的资料主要还是周志明的《深入理解Java虚拟机》,今天我就带大家来看看阿里云大师如何深入拆解Java虚拟机,让你更深入更通俗的理解JVM。

头条二面

二轮技术面,17:00~20:25,晚饭时间hr 小姐姐还特贴心的带我体验了一把传说中的头条餐厅,不超过半小时

  1. 聊项目,画项目架构图,画一个用户从发起请求 到接收到响应 中间经过哪些服务 每个服务做什么事情 的流程图
  2. 讲项目中的难点、挑战,你是如何解决的
  3. redis 中有几种类型 & 各自底层怎么实现的 & 项目中哪个地方用了什么类型,怎么使用的
  4. redis如何实现分布式锁,zk如何实现分布式锁,两者的区别。如果service还没执行完,分布式锁在redis中已经过期了,怎么解决这种问题
  5. synchronized底层实现,加在方法上和加在同步代码块中编译后的区别、类锁、对象锁
  6. 锁升级的过程
  7. java运行时区域 及 各个区域的作用、对GC的了解、java内存模型 及 为什么要这么设计
  8. 对索引的理解,组合索引,索引的最佳实践
  9. countDownLatch用过没有,在项目中如何使用的,对aqs 的了解
  10. 写生产者消费者问题,考虑高并发的情况,可以使用Java 类库,白纸写代码
  11. 如下图所示

一名毕业三年的女程序媛面试头条、京东、美团拿offer的经验分享

  1. 设计一个发号器,考虑集群和高并发的情况,要求发号器生成的id是递增趋势,通过id可以区分出来是今天生成的id还是昨天生成的id,但是生成的id中不能直接带有日期,要具有一定的混淆功能,白纸写代码
  2. 一个二位数组,每个元素都可以往上下左右四个方向走,寻找最长递增路径。如下图所示,最长递增路径即红色字体路径。白纸写代码。

一名毕业三年的女程序媛面试头条、京东、美团拿offer的经验分享

![一名毕业三年的女程序媛面试头条、京东、美团拿offer的经验分享](https://upload-images.jianshu.io/upload_images/24616006-29170cb90dde5388?imageM

点击领取2024完整开源项目《一线大厂Java面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义》

ogr2/auto-orient/strip%7CimageView2/2/w/1240)

美团四面

电话面试(40分钟)+现场三轮技术面试(3.5小时)+hrbp面试(30分钟)

  1. 数据库和缓存的一致性问题。先更新数据库,再更新缓存,若更新完数据库了,还没有更新缓存,此时有请求过来了,访问到了缓存中的数据,怎么办?
  2. 聚簇索引/非聚簇索引,mysql索引底层实现,为什么不用B-tree,为什么不用hash,叶子结点存放的是数据还是指向数据的内存地址,使用索引需要注意的几个地方
  3. mysql默认的事务隔离级别,mvcc,rr怎么实现的,rc如何实现的
  4. mysql间隙锁有没有了解,死锁有没有了解,写一段会造成死锁的sql语句,死锁发生了如何解决,mysql有没有提供什么机制去解决死锁
  5. 谈下对GC的了解,何为垃圾,有哪些GC算法,有哪些垃圾回收器,cms和g1的区别,emm,还有一个直击灵魂的问题,看过cms的源码吗,笑cry
  6. 有没有排查过线上oom的问题,如何排查的
  7. 有没有使用过jvm自带的工具,如何使用的
  8. 假设有下图所示的一个full gc 的图,纵向是内存使用情况,横向是时间,你如何排查这个full gc的问题,怎么去解决你说出来的这些问题。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. 说说对java中集合类的理解,项目中用过哪些,哪个地方用的,如何使用的
  2. 对CAS的理解,CAS带来的问题,如何解决这些问题
  3. volatile底层、synchronized底层、锁升级的过程、MESI
  4. ehcache支持哪些缓存
  5. juc有研究没有,讲一讲
  6. 聊项目,画项目架构图,画一个用户从发起请求 到接收到响应 中间经过哪些服务 每个服务做什么事情 的流程图
  7. 讲项目中的难点、挑战,如何解决的,项目这一块会问的特别细
  8. 如何保证RocketMQ 消息的顺序性,如何解决重复消费问题
  9. 项目中如何保证接口的幂等操作
  10. 讲一讲对redis 的了解,项目中如何使用的,哪个地方使用的,为什么要使用
  11. 哨兵机制、redis两种备份方式的区别,项目中用的哪种,为什么
  12. 讲一讲对分布式锁的了解
  13. 项目中系统监控怎么做的
  14. 如何理解Spring中的AOP 和 IOC,以及DI,读过Spring源码没有
  15. 读过MyBatis源码没有
  16. 说一个你了解最多的框架,说出你的理解
  17. 如何理解分布式事务,为什么会出现这个问题,如何去解决,了解哪些分布式事务中间件
  18. 聊一聊对分库分表的理解
  19. hystrix功能 & 在项目中怎么使用的 & hystrix 怎么检测断路器是否要开启/关闭 & hystrix 实现原理,除hystrix之外的其他熔断限流中间件有了解没有,了解多少说多少
  20. dubbo有了解没有
  21. 怎么理解java 中和 mysql 中的乐观锁、悲观锁
  22. 一致性hash

一名毕业三年的女程序媛面试头条、京东、美团拿offer的经验分享

京东

电话面试(30分钟)+现场两轮技术面试(1小时40分钟),面完12:50,说让我先回来,后续hr 电话和我联系,一周后一面的面试官问我还考虑京东吗,对不起,已经不考虑了,希望以后有机会再合作

  1. 一个final修饰的属性,定义的时候没有初始化,在无参构造函数中初始化,可以吗,为什么
  2. 说说对java中集合类的理解,项目中用过哪些,哪个地方用的,如何使用的,为什么不用其他的集合类
  3. hashMap,concurrentHashMap底层实现,
  4. list删除是怎么实现的,遍历的时候可以删除吗,为什么
  5. redis中有哪些数据结构,了解过其底层怎么实现的吗,和java中相似的数据结构的对比
  6. redis是单线程的还是多线程的,为什么这么快
  7. redis hash中某个key过大,变为String类型的大key,怎么处理,使用中如何避免出现这种问题
  8. 设计模式在项目中哪个地方用到了,怎么使用的,能不能画一个你熟悉的设计模式的UML图,手写单例模式,手写静态内部类实现的单例模式
  9. 讲一讲mysql索引,实际工作中,哪些场景用了b+tree索引,哪些场景用了hash索引
  10. explain 可以看到哪些信息,什么信息说明什么,explain的结果列讲一下
  11. Spring源码看过没有,会多少讲多少
  12. MyBatis源码看过没有,会多少讲多少
  13. cas,cas的缺点,如何解决
  14. aqs,countDownLatch如何实现
  15. 线程池如何实现,核心线程数和最大线程数设置成多少,为什么这么设置,项目中哪个地方使用了线程池,使用时需要注意什么
  16. mysql事务隔离级别,幻读,脏读,项目中用什么事务隔离级别,为什么
  17. volatile底层原理、synchronized实现机制,
  18. 对XA、TCC的理解,了解哪些分布式事务框架,有什么缺点
  19. feign 和 dubbo,了解多少说多少
  20. eureka 和 zookeeper,了解多少说多少
  21. hystrix 和 sentinel,了解多少说多少
  22. Spring cloud alibaba,了解多少说多少
  23. 对分库分表、读写分离的了解,了解多少说多少
  24. 画一下java 线程几个状态 及 状态之间互相转换的图
  25. 聊项目,画项目架构图,画一个用户从发起请求 到接收到响应 中间经过哪些服务 每个服务做什么事情 的流程图,讲数据库设计 具体到部分表中有哪些字段
  26. emm 我们部门体量比较大,可能需要加班,到凌晨两三点的那种,也可能通宵,通宵是大促期间,你能接受吗
  27. emm 也会加班到十点,这个不是大促期间,但也不是每天,非常态情况,你能接受吗,你在哪里住,过来要多久,有男朋友吗
  28. 一起去吃午饭吧,我们这边有员工餐厅,不了不了,我回家吃饭吧

一名毕业三年的女程序媛面试头条、京东、美团拿offer的经验分享

下面是面试tmj 之外的公司中遇到的一些问题哈,tmj 中已经被问到的就不再重复写了,只写一下个别公司中我还记得的面试题(重点总结写算法

算法题

  1. [1,1,2,2,3,4,4,5,5,5] 找出不重复的元素(黄包车)
  2. 反转链表,要求时间复杂度O(N),空间复杂度O(1) (火币)
  3. 非递归实现斐波那契数列 (爱奇艺)
  4. 这一周股市价格为[2,6,1,4,8],求哪一天买入哪一天卖出,可获得最大收益,最大收益为多少 (爱奇艺)
  5. 按照箭头方向查找二叉树 (金山云)

一名毕业三年的女程序媛面试头条、京东、美团拿offer的经验分享

表a b c之间用id关联,求阴影部分的数据 (金山云)

一名毕业三年的女程序媛面试头条、京东、美团拿offer的经验分享

  1. 一个整形无序数组,里面三个数只和等于一个目标值,求这三个数 (小米)
  2. 链表问题 (小米)

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. 扑克牌问题 (小米)
  2. 有十张扑克牌,从上面开始抽,抽出一张放桌子上,然后再抽出一张放扑克牌的最下面,这样循环往复的操作,直到手里的牌都没有了。这时,桌子上牌的顺序正好是1 2 3 4 5 6 7 8 9 10。要求写代码求出原顺序
  3. 手写大顶堆 (linkedMe)
  4. 手写LRU 算法 (火币)
  5. 字符串相加 (滴滴)
  6. 两个数字类型的字符串,直接转int或者double肯定都放不下,然后求这两个数的和,返回值还是字符串,15分钟时间,要求无bug
  7. 寻找目标值位置 (滴滴)
  8. 有一个二维数组,数组横向有序,纵向有序,求目标值的位置,10分钟时间
  9. 求字符串“efabcbaefehiabcba”中最长的回文数,不去重(美团)
  10. 反转int类型的值x,不要借用String,只用int 即可。&& 针对该程序,写出其应有的测试用例 (美团)
  11. top K 问题(每日一淘)

最后希望可以帮助到大家!

千千万万要记得:多刷题!!多刷题!!

之前算法是我的硬伤,后面硬啃了好长一段时间才补回来,算法才是程序员的灵魂!!!!

篇幅有限,以下只能截图分享部分的资源!!

(1)多线程(这里以多线程为代表,其实整理了一本JAVA核心架构笔记集)

image

(2)刷的算法题(还有左神的算法笔记)

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

(3)面经+真题解析+对应的相关笔记(很全面)

image

(4)视频学习(部分)

ps:当你觉得学不进或者累了的时候,视频是个不错的选择

在这里,最后只一句话:祝大家offer拿到手软!!

.(img-ybhAKvZK-1709726811840)]

(3)面经+真题解析+对应的相关笔记(很全面)

[外链图片转存中…(img-ADxXsaSm-1709726811840)]

(4)视频学习(部分)

ps:当你觉得学不进或者累了的时候,视频是个不错的选择

在这里,最后只一句话:祝大家offer拿到手软!!

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/434485.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

C++学习第七天(string类)

1、学习string的原因? C语言中的字符串 C语言中,字符串是以‘\0’结尾的一些字符的集合,为了操作方便,C标准库中提供了一些str系列的库函数,但是这些库函数与字符串是分离开的,而且底层空间需要用户自己管…

浅析扩散模型与图像生成【应用篇】(七)——Prompt-to-Prpmpt

7. Prompt-to-Prompt Image Editing with Cross Attention Control 本文提出一种利用交叉注意力机制实现文本驱动的图像编辑方法,可以对生成图像中的对象进行替换,整体改变图像的风格,或改变某个词对生成图像的影响程度,如下图所示…

Django 管网项目 三

Django 官网文档 ​​Writing your first Django app, part 2 | Django documentation | Django 本文内容涉及创建视图 View,路由,和模版。并对内容进行渲染。 创建视图 在我们的投票应用中,我们需要下列几个视图: 问题索引页—…

LabVIEW管道缺陷智能检测系统

LabVIEW管道缺陷智能检测系统 管道作为一种重要的输送手段,其安全运行状态对生产生活至关重要。然而,随着时间的推移和环境的影响,管道可能会出现老化、锈蚀、裂缝等多种缺陷,这些缺陷若不及时发现和处理,将严重威胁到…

外包干了10天,技术退步明显。。。。。

先说一下自己的情况,本科生,2019年我通过校招踏入了南京一家软件公司,开始了我的职业生涯。那时的我,满怀热血和憧憬,期待着在这个行业中闯出一片天地。然而,随着时间的推移,我发现自己逐渐陷入…

《程序员的职业迷宫:选择你的职业赛道》

程序员如何选择职业赛道? 大家好,我是小明,一名在编程迷宫中探索的程序员。作为这个庞大迷宫的探险者,我深知选择适合自己的职业赛道有多么重要。今天,我将分享一些关于如何选择职业赛道的心得,希望能够帮…

JWT令牌实现登陆校验

一、JWT出现的背景 jwt令牌出现的背景,比如我们通过一个路由访问网站的时候,有些游客在知道url的情况下会跳过用户登录直接访问其他网页,这样不仅在逻辑上说不通(我没登陆咋就能使用其他功能?)还会造成信息…

指针乐园--下

大家好这里是指针乐园下,下面我们开始喽!! 文章目录 目录 文章目录 前言 一、字符以及数组指针 二、函数指针变量以及函数指针数组 函数指针变量的使⽤ 通过函数指针调⽤指针指向的函数。 函数指针数组 总结 前言 我们今天会学习数组指针&…

LeNet训练集详细实现

一、下载训练集 导包 import torch import torchvision import torch.nn as nn from model import LeNet import torch.optim as optim import torchvision.transforms as transforms import matplotlib.pyplot as plt import numpy as npToTensor()函数: 把图像…

npm 私服以及使用

在工作中,公司有很多内部的包并不希望发布到npm官网仓库,因为可能涉及到一些私有代码不能暴露。对于前端来讲,这时就可以选择在公司内网搭建npm私有仓库。当前比较主流的几种解决方案:verdaccio、nexus、cnpm。大家可以按照自己的…

限时特惠,立即购买CST电磁仿真软件,享受超值优惠与高质量服务

在电磁仿真领域,CST软件以其卓越的性能和广泛的应用成为了行业内的佼佼者。现在,我们非常高兴地宣布,为庆祝CST软件的持续创新与客户支持,我们推出限时特惠活动!(联系CST软件中国区代理亿达四方&#xff0c…

RabbitMQ如何保证消息不丢

如何保证Queue消息能不丢呢? RabbitMQ在接收到消息后,默认并不会立即进行持久化,而是先把消息暂存在内存中,这时候如果MQ挂了,那么消息就会丢失。所以需要通过持久化机制来保证消息可以被持久化下来。 队列和交换机的…

React Vite 构建工具如何查看代码占用体积

首先安装 Vite 中的 rollup-plugin-visualizer 插件 cnpm install rollup-plugin-visualizer 接着在你的 vite.config.ts 中引入并且使用到 plugins 中 import { visualizer } from "rollup-plugin-visualizer";export default defineConfig({plugins: [react(),vi…

现代信号处理学习笔记(三)现代谱估计

现代谱估计是信号处理和统计领域的一个重要主题,它涉及从信号中估计其频谱内容的方法。频谱表示一个信号在不同频率上的成分强度。谱估计在许多应用中都很重要,如通信系统、雷达、音频处理、生物医学工程等领域。 目录 前言 一、基础知识 1、功率谱估…

同步通信和异步通信(RabbitMq学习前篇)

MQ学习前篇 文章目录 MQ学习前篇1、同步和异步通讯1.1、同步通讯和异步通讯1.2、同步调用存在的问题1.3、异步调用方案1.4、异步通信的缺点 1、同步和异步通讯 学习mq之前,就要先知道同步通讯和异步通讯的区别。 1.1、同步通讯和异步通讯 同步通讯就像是打电话&am…

【网络安全】漏洞挖掘入门教程(非常详细),小白是如何挖漏洞(技巧篇)0基础入门到精通!

温馨提示: 初学者最好不要上手就去搞漏洞挖掘,因为漏洞挖掘需要很多的系统基础知识和一些理论知识做铺垫,而且难度较大…… 较合理的途径应该从漏洞利用入手,不妨分析一些公开的CVE漏洞。很多漏洞都有比较好的资料,分…

Java开发人员不得不收集的代码,java软件开发面试常见问题

前言 今年的金三银四已经过去一大半了,在这其中参与过不少面试,2021都说工作不好找,这也是对开发人员的要求变向的提高了。 之前在Github上收获15Kstar的Java核心神技(这参数,质量多高就不用我多说了吧)非…

C++与 Fluke5500A设备通过GPIB-USB-B通信的经验积累

C与 Fluke5500A设备通过GPIB-USB-B通信的经验积累 以下内容来自:C与 Fluke5500A设备通过GPIB-USB-B通信的经验积累 - JMarcus - 博客园 (cnblogs.com)START 1.需要安装NI-488.2.281,安装好了之后,GPIB-USB-B的驱动就自动安装好了 注意版本…

13. C++类使用方式

【类】 C语言使用函数将程序代码模块化,C通过类将代码进一步模块化,类用于将实现一种功能的全局数据、以及操作这些数据的函数集中存储在一起,同时可以设置类成员的访问权限,禁止外部代码使用和篡改本类成员,类成员访…

SMT贴片加工——品质检验要求

一、元器件贴装工艺品质要求 1.元器件贴装需整齐、正中,无偏移、歪斜 2.贴装的元器件型号规格应正确;元器件应无漏贴、错贴 3.贴片元器件不允许有反贴 4.有极性要求的贴片器件安装需按正确的极性标示安装 二、元器件焊锡工艺要求 1.FPC板面应无影响…