压力山大题

找不到工作的面试者总结


提示:写文章的时候,我还在找工作!!!

文章目录

  • 找不到工作的面试者总结
  • 前言
  • 一、JAVA面死题
    • 1. OOP是什么
    • 2. 重载与重写的区别
    • 3. java基本类型
    • 4. String、StringBuffer、StringBuilder的区别
    • 5. 接口和抽象类区别
    • 6. 什么是自动拆装箱 int 和 Integer 有什么区别
    • 7. ==和 equals 区别
    • 8. final 、 finally 、 finalize
    • 9.object有哪些方法?
    • 10. 集合有哪些?
    • 11. ArrarList 和 LinkedList 区别
    • 12. HashMap底层,为什么要这样用?
    • 13. HashMap 和 HashTable 区别
    • 14. 线程的创建方式
    • 15. 请写出你最常见的 5 个 RuntimeException
    • 16. java的反射你是如果理解的
    • 17. 什么是 java 序列化, 如何实现 java 序列化
  • 二、Mysql面死题
    • 1. mysql事务你了解吧,和我说说
    • 2. mysql隔离级别
    • 3. 事务并发问题
    • 4. mysql的引擎
    • 5. MySQL 四种索引


前言

提示:学了这些也找不到工作,计算机真的崩了,如果看到这篇文章,别干java,别干大数据,肺腑之言。


一、JAVA面死题

1. OOP是什么

OOP(Object Oriented Programming)即面向对象编程,面向对象的三大特征:封装、继承、多态

2. 重载与重写的区别

方法的重载是编译时多态,方法的重写是运行时多态
重载:重载发生在一个类中,同名的方法,不同的参数类型或者不同的参数个数
重写:重写发送在子类和父类之间,要求子类的重写方法和父类的被重写方法的方法名字、方法参数个数、方法类型、返回类型相同,访问权限不能比父类的低

3. java基本类型

java基本类型八个,六种数字类型(四个整数型,两个浮点型),一种字符串型,还有一种布尔型
byte、short、int、long、float、double、boolean、char

注意:string是引用类型

4. String、StringBuffer、StringBuilder的区别

在这里插入图片描述

String:字符串由final修饰的常量,存在常量池中,所以他是线程安全的。
StringBuffer:它使用了synchronize关键字,对方法进行了同步处理,所以线程是安全的。
StringBuilder:执行效率虽然高,但是因为线程不安全,所以不建议在多线程的环境下对同一个StringBuilder对象进行操作

5. 接口和抽象类区别

抽象类(abstract):接口需要子类继承、单继承、可以有构造方法,访问修饰符可以有public,protected和default、可以有成员变量。
接口(interface):需要子类实现接口、多实现、不能有构造方法,访问修饰符只能是public、只能有常量

6. 什么是自动拆装箱 int 和 Integer 有什么区别

底层是通过 Integer.valueOf()和 Integer.intValue() 方法实现 。 Integer 的默认值是
null, int 的默认值是 0
所以在[-128,127]区间内,==比较的时候,值总是相等的(指向的是同一对象),在这个区间外是不等的,

7. ==和 equals 区别

==:如果比较的是基本数据类型, 那么比较的是变量的值 如果比较的是引用数据类型, 那么比较的是地址值 (两个对象是否指向同一块内 存)
equals:如果没重写equals方法比较的是两个对象的地址值
如果重写了比较的是内容,equals是从object类中继承的,默认实现方法是双等

8. final 、 finally 、 finalize

final修饰符(关键字):被final修饰的类,就意味着不能再派生出新的子类,不能作为父类而被子类继承。因此一个类不能既被abstract声明,又被final声明。将变量或方法声明为final,可以保证他们在使用的过程中不被修改。被声明为final的变量必须在声明时给出变量的初始值,而在以后的引用中只能读取。被final声明的方法也同样只能使用,即不能方法重写。
finally是在异常处理时提供finally块来执行任何清除操作。不管有没有异常被抛出、捕获,finally块都会被执行。try块中的内容是在无异常时执行到结束。catch块中的内容,是在try块内容发生catch所声明的异常时,跳转到catch块中执行。finally块则是无论异常是否发生,都会执行finally块的内容,所以在代码逻辑中有需要无论发生什么都必须执行的代码,就可以放在finally块中。
finalize是方法名。java技术允许使用finalize()方法在垃圾收集器将对象从内存中清除出去之前做必要的清理工作。这个方法是由垃圾收集器在确定这个对象没有被引用时对这个对象调用的。它是在object类中定义的,因此所有的类都继承了它。子类覆盖finalize()方法以整理系统资源或者被执行其他清理工作。finalize()方法是在垃圾收集器删除对象之前对这个对象调用的

9.object有哪些方法?

protected Object clone()—>创建并返回此对象的一个副本 。
boolean equals(Object obj)—>指示某个其他对象是否与此对象“相等
protected void finalize()—>当垃圾回收器确定不存在对该对象的更多引用时, 由 对象的垃圾回收器调用此方法 。
Class<?extendsObject> getClass()—>返回一个对象的运行时类。
int hashCode()—>返回该对象的哈希码值 。 void notify()—>唤醒在此对象监视器上等待的单个线程。
void notifyAll()—>唤醒在此对象监视器上等待的所有线程。 String toString()—>返回该对象的字符串表示

10. 集合有哪些?

在这里插入图片描述

11. ArrarList 和 LinkedList 区别

ArrayList 是实现了基于动态数组的数据结构, LinkedList 基于链表的数据结构
对于随机访问 get 和 set, ArrayList 效率优于 LinkedList, 因为 LinkedList 要移 动指针 。
对于新增和删除操作 add 和 remove, LinkedList 比较占优势, 因为 ArrayList 要 移动数据 。 这一点要看实际情况的。若只对单条数据插入或删除, ArrayList 的速 度反而优于 LinkedList 。但若是批量随机的插入删除数据, LinkedList 的速度大大 优于 ArrayList. 因为 ArrayList 每插入一条数据, 要移动插入点及之后的所有数 据 。

12. HashMap底层,为什么要这样用?

HashMap 底层是 数组+链表+红黑树 数组 Node<K,V>[] table ,哈希表, 根据对象的 key 的hash 值判断在数组里面是哪个节点
链表的作用是解决 hash 冲突, 将 hash 值取模之后的对象存在一个链表放在 hash值对应的槽位
红黑树 JDK8 使用红黑树来替代超过 8 个节点的链表,发送哈希碰撞,会带来链化,效率会变低,引入红黑树会提高查找效率从原来的 O(n)到 O(logn)
当链表长度大于8,且总数据量大于64的时候,链表就会转化成红黑树,
当前存入数据大于阈值即发生扩容或者存入数据到某一条链表时,此时该链表数据个数大于8,且数组总数量小于64即发生扩容每次扩容为初始容量的2倍

13. HashMap 和 HashTable 区别

HashTable 是线程安全的,而 HashMap 不是。
HashMap 的性能要比 HashTable 更好,因为HashTable 采用了全局同步Synchronized来保证安全性,对性能影响较大
HashMap 只有 containsValue 和 containsKey 方法; HashTable 有 contains 、 containsKey 和 containsValue 三个方法, 其中 contains 和 containsValue 方法功 能相同 。
Hashtable 中, key 和 value 都不允许出现 null 值 。HashMap 中, null 可以作为 键, 这样的键只有一个; 可以有一个或多个键所对应的值为 null。
HashTable 在不指定容量的情况下的默认容量为 11, 而 HashMap 为 16 , Hashtable 不要求底层数组的容量一定要为 2 的整数次幂, 而 HashMap 则要求一 定为 2 的整数次幂。
Hashtable 扩容时, 将容量变为原来的 2 倍加 1, 而 HashMap 扩容时, 将容量变 为原来的 2 倍 。

14. 线程的创建方式

线程的5种状态: 新建状态、就绪状态、运行状态、阻塞状态、死亡状态

1、继承 Thread 类创建线程
2、实现 Runnable 接口创建线程
3、实现callable接口和创建Future类创建线程,有返回值
4、使用线程池创建线程
5、使用匿名线程创建

15. 请写出你最常见的 5 个 RuntimeException

java.lang.NullPointerException 空指针异常; 出现原因: 调用了未经初始化的对象或者是不存在的对象 。
java.lang.ClassNotFoundException 指定的类找不到; 出现原因: 类的名称和路径加载错误; 通常都是程序试图通过 字符串来加载某个类时可能引发异常 。
java.lang.NumberFormatException字符串转换为数字异常; 出现原因: 字符型数据中包含非数字型字符 。
java.lang.IndexOutOfBoundsException 数组角标越界异常, 常见于操作数组对象时发生 。
java.lang.IllegalArgumentException 方法传递参数错误
java.lang.ClassCastException 数据类型转换异常。

16. java的反射你是如果理解的

在运行状态下,任何一个类,你都能知道它的所有方法和属性,对任何一个对象,你都能调用它的方法和属性,这种动态调用和获取的方法叫做反射机制
获取Class对象的三种方式
1 Object ——> getClass();
2 任何数据类型(包括基本数据类型)都有一个“静态”的class属性
3 通过Class类的静态方法:forName(String className)(常用)
在这里插入图片描述

17. 什么是 java 序列化, 如何实现 java 序列化

序列化是一种用来处理对象流的机制, 所谓对象流也就是将对象的内容进行流 化 。可以对流化后的对象进行读写操作, 也可将流化后的对象传输于网络之间
序列化的实现: 将需要被序列化的类实现 Serializable 接 口, 该接口没有 需 要 实 现 的 方 法, implements Serializable 只是为了标注该对象是可被序列化的,然后使用一个输出流(如: FileOutputStream)来构造一个 ObjectOutputStream(对象流) 对象, 接着, 使用 ObjectOutputStream 对象的 writeObject(Object obj)方法就可以将 参数为 obj 的对象写出(即保存其状态), 要恢复的话则用输入流。

二、Mysql面死题

1. mysql事务你了解吧,和我说说

原子性(Atomicity):事务过程中,如果其中操作出现错误,所有操作全部回滚,要么全嘎要么全做。
一致性(Consistency):事务开始和结束,事务完整约束没有被破坏。比如 A 向 B 转账, 不可能 A 扣了钱, B 却没收到
隔离性(Isolation):同一时间,只允许一个事务请求同一数据,不同的事务之间彼此没有干扰,比如 A 正在从一张银行卡中取钱, 在A 取钱的过程结束前, B 不能向这张卡转账。
持久性(Durability):事务完成后,数据保存好,无法回滚。

2. mysql隔离级别

在这里插入图片描述

3. 事务并发问题

脏读:事务A读取了事务B更新的数据,然后B回滚操作,那么A读取到数据的脏数据。
不可重复读:事务A多次读同一数据,事务B在多次读取中修改了数据,事务A就出现了结果不一样。
幻读:事务A修改多个数据时,事务B插入了一条新的数据,此事出现了一条数据没有改过来,出现了幻读。

注意:不可重复读的和幻读很容易混淆, 不可重复读侧重于修改, 幻读侧重于新增或删除 。解决不可重复读的问题只需锁住满足条件的行, 解决幻读需要锁表。

4. mysql的引擎

在这里插入图片描述

5. MySQL 四种索引

1、普通索引:最基本的索引,没有任何限制
创建sql create index index_name on table(column(length))
2、唯一索引:索引列值必须唯一,运行null
创建sql create unique index indexName on table(column(length))
3、主键索引:是一种特殊的唯一索引,一个表只能有一个主键,不允许空值,在创建的时候一般会同时创建
创建sql 创建表时加上primary key (id)
4、组合索引:在多个字段上创建索引,只有在查询条件中使用创建索引时的第一个字段,索引才会被使用
创建sql alter table table_name add index name_city_age (name,city,age);
5、全文索引:主要用来查找文本中的关键字,而不是直接与索引中的值相比较
创建sql create fulltext index index_content ON article(content)

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

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

相关文章

word写论文遇到数字和文字中间空格删不掉

一、如何删除&#xff1f; 1、选中需要有数字和汉字那段文字 2、点击段落下拉 3、找到中文版式 4、将【自动调整中文与数字的间距】取消勾选&#xff08;不要勾选&#xff09; 5、点击确定即可删除啦

Maven 使用教程

一、什么是Maven&#xff1f; 乍一看&#xff0c;Maven可能是许多东西&#xff0c;但简而言之&#xff0c;Maven.试图将模式应用于项目的构建基础架构&#xff0c;以便通过提供使用最佳实践的明确途径来提高理解力和生产力。Maven本质上是一个项目管理和理解工具&#xff0c;因…

SQL之alter的用法简介

SQL之alter的用法简介 ALTER TABLE是SQL中的一个命令&#xff0c;它用于修改已经存在的表的结构&#xff0c;而不改变其原始数据。以下是一些ALTER TABLE的用法&#xff1a; 1&#xff09;增加列&#xff08;Add Column&#xff09;&#xff1a; ALTER TABLE table_name ADD…

强化科技创新“辐射力”,中国移动的数智化大棋局

作者 | 曾响铃 文 | 响铃说 丝滑流畅的5G连接、每时每刻的数字生活服务、无处不在的智能终端、拟人交流的AI助手、梦幻般的XR虚拟现实、直接感受的裸眼3D…… 不知不觉&#xff0c;那个科幻片中的世界&#xff0c;越来越近。 数智化新世界的“气氛”&#xff0c;由一个个具…

flinkdashboard未授权

flinkwebui 增加账号密码 yum install httpd-tools -y htpasswd -c /usr/local/nginx/conf.d/.ngpasspd flink2024 flink_2024 再输入密码 修改flink.conf 我们可以通过./conf/flink-conf.yaml来设置web服务器的ip和端口: rest.address rest.port:8084 安装nginx ./config…

VR太空舱体验馆VR神舟返回舱VR虚拟现实科技科普乐园

VR航天航空设备&#xff0c;寓教于乐 VR科技正成为航天航空领域的新宠。作为一种沉浸式的数字技术&#xff0c;VR(Virtual Reality&#xff0c;虚拟现实)能够为用户创造出逼真的虚拟环境&#xff0c;让人们仿佛身临其境。借助VR技术&#xff0c;我们可以带领学生和游客深入了解…

scrapy针对302请求的处理与重试配置

不修改任何配置&#xff0c;scrapy针对302请求时如何处理的&#xff1f; 默认情况下&#xff0c;当爬虫发送请求并收到 HTTP 302 重定向响应时&#xff0c;Scrapy 会自动跟随重定向&#xff0c;也就是说&#xff0c;它会自动向重定向的 URL 发送一个新的请求&#xff0c;并且在…

矩阵键盘反转扫描

/*----------------------------------------------- 内容&#xff1a;如计算器输入数据形式相同 从右至左 ------------------------------------------------*/ #include<reg52.h> //包含头文件&#xff0c;一般情况不需要改动&#xff0c;头文件包含特殊功能寄存器的定…

LangChain结合milvus向量数据库以及GPT3.5结合做知识库问答之一 --->milvus的docker compose安装

https://github.com/milvus-io/milvus/releaseshttps://github.com/milvus-io/milvus/releases 以下步骤均在Linux环境中进行&#xff1a; 将milvus-standalone-docker-compose.yml下载到本地。 1、新建一个目录milvus 2、将milvus-standalone-docker-compose.yml放到milvu…

Spring Cloud--Nacos+@RefreshScope实现配置的动态更新

原文网址&#xff1a;Spring Cloud--NacosRefreshScope实现配置的动态更新_IT利刃出鞘的博客-CSDN博客 简介 说明 本文介绍SpringCloud整合Nacos使用RefreshScope实现动态更新配置。 官网 Nacos Spring Cloud 快速开始 动态更新的介绍 动态更新的含义&#xff1a;修改应…

区块链(11):java区块链项目之页面部分实现

addPeer.html <!DOCTYPE html> <html> <head><meta charset="utf-8"> <title>java区块链</title><meta name="viewport" content="width=device-width, initial-scale=1"><link rel="styles…

iOS-2023面试最新-逆向题-视觉

1、逆向思路 界面分析。Cycript、Reveal 代码分析。MachOView、class-dump、Hopper Disassembler、ida 动态调试。debugserver、LLDB 代码编写。代码注入&#xff0c;重签名&#xff0c;打包 2、ios签名机制 3、Mach-O&#xff0c;ASLR 4、LLVM 5、OpenSSH登录iPhone&a…

2023_Spark_实验十八:安装FinalShell

下载安装包 链接&#xff1a;https://pan.baidu.com/s/14cOJDcezzuwUYowPsOA-sg?pwd6htc 提取码&#xff1a;6htc 下载文件名称&#xff1a;FinalShell.zip 二、安装 三、启动FinalShell 四、连接远程 linux 服务器 先确保linux系统已经开启&#xff0c;不然连接不上 左边…

关于雅思听力答案限定字数的解释。

1. No more than three words and/or a number&#xff1a;31&#xff0c;可以填3/2/1个单词&#xff1b;1个数字&#xff1b;3/2/1个单词1个数字 2. No more than three words and/or numbers&#xff1a;3n&#xff0c;可以填3/2/1个单词&#xff1b;n个数字&#xff1b;3/2…

一款优秀的文件外发控制软件 具备哪些优势?

随着越来越多的公司在网上开展业务&#xff0c;网络安全漏洞也相应增加。因此&#xff0c;企业需要保护自己的数据&#xff0c;防止数据泄露&#xff0c;给企业带来损失。近几年来&#xff0c;企业数据泄露事件频发&#xff0c;给许多企业都带来巨大创伤。 乌克兰电力公司在201…

3.Vue-在Vue框架中搭建路由

题记 以下是在vue框架中搭建路由的全过程&#xff0c;包括全部代码。 创建路由 如果你的文件中没有 router文件夹&#xff0c;可以使用以下命令创建&#xff1a; vue add router 注意&#xff1a;生成的路由文件会因为选择的自定义选项不同&#xff0c;而有所差异 生成的代码…

uni-app:本地缓存的使用

uni-app 提供了多种方法用于本地缓存的操作。下面是一些常用的 uni-app 本地缓存方法&#xff1a; uni.setStorageSync(key, data): 同步方式将数据存储到本地缓存中&#xff0c;可以使用对应的 key 来获取该数据。 uni.setStorage({key, data}): 异步方式将数据存储到本地缓存…

SpringCloud-Stream

一、介绍 &#xff08;1&#xff09;提供统一接口操作不同厂商的消息队列组件&#xff0c;降低学习成本 &#xff08;2&#xff09;生产者和消费者只需操作binder对象即可与消息队列交互&#xff0c;生产者output&#xff0c;消费者input &#xff08;3&#xff09;核心概念&a…

【字符编码】c++编码格式及转换

参考资料&#xff1a; 字符编码笔记&#xff1a;ASCII&#xff0c;Unicode 和 UTF-8 通俗易懂 wstring 和 string 的区别 wstring 和 string 是 C 中的两种字符串类型&#xff0c;它们的主要区别在于字符编码和存储方式。 字符编码: string 使用单字节字符编码&#xff0c;通…

CRM系统中的销售漏斗有什么作用?

随着数字化发展&#xff0c;越来越多的企业使用CRM销售管理系统提高销售管理水平&#xff0c;提升盈利能力。在这个过程中&#xff0c;销售漏斗起到了非常重要的作用。下面就来说说&#xff0c;CRM系统中的销售漏斗有什么作用&#xff1f; 一、销售数据可视化 CRM销售漏斗通过…