【Java面试/24春招】技术面试题的准备

news2024/10/7 8:20:19

Spring MVC的原理
Mybatis的多级缓存机制
线程池的大小和工作原理
在这里插入图片描述

上述问题,我们称为静态的问题,具有标准的答案,而且这个答案不会变化!

如果没有Spring,会怎么样?IOC这个思想是解决什么问题?
如何设计一个支持1000万用户访问的系统
如何设计一个秒杀系统
如果让你设计一个集团层面的全局ID生成器,你怎么做?
。。。【变化↓】
1.没有标准答案,
2.需要你去基于自己的技术积累,总结成自己的理解去回答。(知识积累),判断更加客观
如果单纯是基于面试题来准备面试,99%的概率是无法通过
简历塑造——外在和内在要保持一致

基于技术的理解层次来提高技术思维

@Content 注解的作用,volatile关键字的原理,伪共享问题的原理和解决思路,cpu的多级缓存设计的目的。。。

产生背景
解决问题的方案

不同的作者在解决特定问题的时候,它设计的技术方案以及思考的维度
曾经参与过类似的设计(经验),曾经在某些源码中读过类似的设计思路(见过)

  • [ @Content注解是解决伪共享问题,而伪共享其实是CPU层面多核心设计下存在的一个问题!]

CPU层面的工作原理

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

总结

CPU的迭代发展的目标,提高计算机处理程序的性能
1.多核CPU
2.CPU缓存行,减少内存IO的耗时,带来缓存一致性问题
3.MESI协议,缓存一致性协议,解决缓存一致性问题
4.再优化,引入空间局部性原理(指令预加载)带来伪共享问题
5.采用缓存行填充来解决,@Contend、或者变量的填充,64个字节
核心:提高CPU利用率,增加CPU性能

价值思考:(技术的设计思想)
空间换时间(Mysql-StoreBuffer,Redis,多级缓存【Mybatis,减少sql和数据库的交互】,Eurekas【多级缓存设计,减少读和写】)
空间局部性原理(Mysql预加载机制)
异步化的数据同步(StoreBuffer。。)
多CPU核心(分布式思想)
锁(缓存锁,总线锁)MESI协议

晶体管2进制的计算体系里面,只要没有超脱这个范围,所有上游的思想基本上相同
如何提升内存的使用效率

把一些热点数据放在内存
内存的淘汰机制
内存的释放(JVM垃圾回收器,CMS,G1。。。)

如何提升CPU利用率

如果做架构、技术经历 遇到下面人员不懂的,怎么办?

经验+见过

  • [学习层面 ]
  • [ 知识理解层面]
  • [ 解决问题能力的层面]

思想的沉淀

项目问题、场景问题

  • 空间换时间

  • 预加载机制

  • 异步化

  • 加锁。。。

  • 工作年限

  • 技术的范围

  • 如何在短期内把需要圈定的技术范围,转化为可以表达的能力

面试面什么

  • 面试(3年,5年,项目维度,表达维度,技术维度,深度的思考和技术积累的维度)
  • 弥补短板,针对短板制定一个月的规划
  • 学的东西表达出来
  • 简历/复盘/录音
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

2024年腾讯云发红包了,可用于抵扣订单金额,你们领了吗?

在2024年腾讯云新春采购节优惠活动上,可以领取新年惊喜红包,打开活动链接 https://curl.qcloud.com/oRMoSucP 会自动弹出红包领取窗口,如下图: 腾讯云2024新春采购节红包领取 如上图所示,点击“领”红包,每…

Android学习笔记在互联网上火了,Android资深架构师分享学习经验及总结

本篇将由 环境搭建、实现原理、编程开发、插件开发、编译运行、性能稳定、发展未来 等七个方面,对当前的 React Native 和 Flutter 进行全面的分析对比,希望能给你更有价值的参考。 前言 移动端跨平台在经历数年沉浮之后,如今还能在舞台聚光…

Android开发真等于废人,历经30天

前言 回顾一下自己这段时间的经历,三月份的时候,疫情原因公司通知了裁员,我匆匆忙忙地出去面了几家,但最终都没有拿到offer,我感觉今年的寒冬有点冷。到五月份,公司开始第二波裁员,我决定主动拿…

【《高性能 MySQL》摘录】第 9 章 操作系统和硬件优化

文章目录 9.1 什么限制了MySQL的性能9.2 如何为 MySQL 选择 CPU9.2.1 哪个更好:更快的 CPU 还是更多的 CPU9.2.2 CPU架构9.2.3 扩展到多个CPU和核心 9.3 平衡内存和磁盘资源9.3.1 随机 I/O 和顺序 I/O9.3.2 缓存,读和写9.3.3 工作集是什么9.3.4 找到有效…

QT 5.14.2版本 MAC环境安装部署流程

下载地址 :https://download.qt.io/archive/qt/5.14/5.14.2/ 下载完成后如下 双击打开安装,会弹出验证,等待验证完成 点击next 下一步,开始安装 如果你还没有qt账号,则先注册账号 ,注册完后输入账号&#…

【报错】PyCharm安装插件时出现Error loading package list:Unexpected end of file from server

Q PyCharm安装插件时出现 Error loading package list:Unexpected end of file from server提示窗口。 A 将Python Interpreter——>——>Manage Repositories中无法用的源删掉 刷新

Xilinx 7系列 FPGA硬件知识系列(三)—— Bank划分及引脚定义

目录 用户Bank BANK 0(配置BANK) BANK 14(HR BANK) BANK 116/117/118(GTX BANK) 7系列的FPGA开始才有HP BANK和HR BANK,UltraScale FPGA有HP BANK、HR BANK和HD BANK,但并不是一…

HashMap 源码解读

文章目录 一、什么是HashMap HashMap 是一种快速的查找并且插入、删除性能都良好的一种 K/V键值对的数据结构,key唯一,value允许重复它基于哈希表的 Map 接口实现,是常用的 Java 集合之一,是非线程安全的。 二、HashMap的数据结…

android开发板调试,Android程序员的春天

前言 大家好!给大家介绍一下,这是我们持续更新整理的2021年最新的阿里;百度;腾讯;字节跳动等大厂的Android面试真题解析! 早在2018年我们就建了第一个BAT等大厂的面试群给大家讨论面试的东西。期间累计有…

java工程师面试技巧,最新Java开发面试解答

一、前言 聊的是八股的文,干的是搬砖的活! 面我的题开发都用不到,你为什么要问?可能这是大部分程序员求职时的经历,甚至也是大家讨厌和烦躁的点。明明给的是拧螺丝的钱、明明做的是写CRUD的事、明明担的是成工具的人…

three.js实现全景看房,一个简单实用的功能。

一、全景看房的实现步骤 要实现全景看房功能,可以使用Three.js结合全景图像和交互控制来创建一个交互式的全景看房场景。下面是实现全景看房的基本步骤: 加载全景图像:首先,需要准备全景图像,通常是一个360度全景图。…

C语言结构体的大小,结构体内存对齐

1. 结构体的大小 在自己正真了解过之前&#xff0c;一直认为结构体的大小就是结构体内部成员大小的总和。 但当你去尝试打印结构体的大小时&#xff0c;会发现事实并非如此&#xff0c;也不会像你想的那样简单。 #include <stdio.h>struct S1 {char c1;char c2;int i;…

【C++精简版回顾】19.异常处理

1.throw抛出问题 int print(int a,int b) {if (b 0)throw b;return a / b; } 2.try与catch解决问题 try {print(2, 0); } catch (int b) {cout << "竟然是&#xff1a;"<<b<<endl; } 结果&#xff1a; 补充1&#xff1a;可以抛出字符串等 1.throw…

建站人的心酸:发了个官网加固通知,有公司关门的,还有吐槽的。

最近客户网站不是老被攻击么&#xff0c;所有节前发了个网站加固的通知&#xff0c;大部分客户都能理解和支持&#xff0c;也有客户倒闭的&#xff0c;也有想省钱结果费钱的&#xff0c;还有吐槽的。 尊敬的客户&#xff1a; 鉴于近期网络攻击频发&#xff0c;导致少部分客户…

Django学习记录08——图表及文件上传案例

1.图表Echarts的应用 Apache ECharts 1.1 使用方法 引用echarts.js即可到官方文档中查询使用 1.2 常用图标的使用 图表展示页面的部署&#xff08;主要展示折线图、柱状图、饼图&#xff09; {% block content %}<div class"container"><div class&qu…

To 有缘看到的朋友,To myself

To 有缘看到的朋友&#xff0c;To myself 零、00时光宝盒 我们生而为人&#xff0c;而不是什么神仙妖怪&#xff0c;自然逃不脱凡尘种种不易。 世界并不完美&#xff0c;面对很多事情我们都很无奈甚至悲哀&#xff0c;但生活总要继续下去&#xff0c;当困难悄悄地来临&#xff…

薪资18K需要什么水平?来看看97年测试工程师的面试全过程…

我的情况 大概介绍一下个人情况&#xff0c;男&#xff0c;本科&#xff0c;三年多测试工作经验&#xff0c;懂python&#xff0c;会写脚本&#xff0c;会selenium&#xff0c;会性能&#xff0c;然而到今天都没有收到一份offer&#xff01;从年后就开始准备简历&#xff0c;年…

【Apache Camel】基础知识

【Apache Camel】基础知识 Apache Camel是什么Apache Camel基本概念和术语CamelContextEndpointsRoutesRouteBuilderComponentsMessageExchangeProcessorsDomain Specific Language&#xff08;DSL&#xff09; Apache Camel 应用执行步骤Apache Camel 示意图参考 Apache Camel…

【ArcGIS超级工具】基于ArcPy的矢量数据批量自动化入库工具

最近&#xff0c;有很多做规划的朋友私信我&#xff0c;想让我帮忙开发一款ArcGIS自动化脚本工具&#xff0c;实现点、线、面的自动化入库操作&#xff0c;帮他们在平时的内业数据处理工作中减少机械式重复性的工作&#xff0c;提高工作效率。为此&#xff0c;我详细了解了下目…

第一套试卷

1.队列的链式操作 循环链表实现的链式队列中&#xff0c;头指针的变动主要取决于队列的操作。一般来说&#xff0c;在循环链表队列中&#xff0c;头指针front指向队列的头节点&#xff0c;尾指针rear指向队列的尾节点的下一个位置。 当进行入队&#xff08;插入&#xff09;操…