首页 > 其他分享 >面经001

面经001

时间:2024-08-02 17:09:35浏览次数:9  
标签:存储 UNION 面经 多态 索引 001 线程 IO

1.面向对象的三大特性:封装,继承,多态

封装:把属性隐藏起来;把尽可能多的东西封装起来,对外提供简介的接口

继承:子类继承父类的特征和行为

多态:同一个行为,不同子类的对象具有不同的表达形式

2.重载和重写的区别

重载:同一个类中定义多个同名的方法,但是他们的参数不可以完全相同;是编译时的多态;对返回值没有要求

重写:子类对父类的方法进行重新定义;是运行时的多态;要求与父类返回值类型相同或者为其子类

3.NIO与BIO的区别

BIO:同步阻塞IO,线程在进行IO操作时不允许进行其他操作,以流的形式处理数据,

NIO:非阻塞型IO,允许线程在进行IO操作时进行其他操作,以块的形式处理数据,性能比较好

个人感觉BIO就是用来HTTP请求的,然后NIO就可以用像WS这种请求使用很合适

4.讲讲list,set,map

  • list是有序,可以通过索引访问
    • arraylist:基于数组,可以动态扩容,增删效率较低,但是查找效率高
    • linkedlist:基于双向链表,增删效率高,查找效率低
  • set是无序,去重的,我之前写算法的时候习惯用set的contains判断元素是否存在
    • hashset:基于哈希表实现,操作效率高,都是常数级
    • treeset:基于红黑树实现,是自然排序的,也可以自定义比较器
  • map:kv键值对,键唯一,值可以重复
    • hashmap:基于哈希表,允许KV都为null,不保证顺序
    • hashtable:在hashmap的基础上实现了线程安全,但由于每个方法上都有synchronize关键字,效率比较低
    • treemap:基于红黑树,可以对K排序
    • concurrenthashmap:转为并发设计的map,比hashtable性能更好;KV都不允许为null,保证并发的安全性与一致性,避免空指针异常

5.对JVM的了解

stackoverflowerror :递归爆了或者爆栈了

outofmemoryerror:堆内存溢出,内存泄露

调优:堆内设置

6.堆和栈的区别

数据结构上:栈是LIFO,堆是树形结构

存储内容上:栈用于存储局部变量,函数返回的地址,调用函数的参数,里面的东西一般生命周期较短;堆用于存储动态数组,对象实例,里面的东西一般生命周期较长

7.线程池

由线程池管理器,工作队列,线程池线程组成

线程池管理器用于管理线程;工作队列用于存储待执行的任务;线程池进程就是实际执行任务的线程

8.autowired和resourse区别

autowired是bytype,resource是byname

autowired不能注入基本数据类型或字符串等非bean对象

9.讲讲IOC和AOP

IOC就是将对象间的依赖关系的控制权由程序内部移交给程序外部,让spring框架负责

AOP主要是通过动态代理对方法进行拦截处理,将一些无关业务逻辑的部分切出来,方便复用

10.mysql索引的底层原理

主要使用B树或者B+树作为索引结构,依赖于存储引擎的实现。默认的是innodb,他支持事务和外键。另一个常用的是myisam,不支持事务和外键

11.UNION和UNION ALL是区别

都是用于合并两个select语句的结果集的操作符

UNION会去重,UNION ALL不会去重

12.SQL优化

不用select *;优化where,利用索引并且尽量不在索引列上用表达式

标签:存储,UNION,面经,多态,索引,001,线程,IO
From: https://www.cnblogs.com/kun1790051360/p/18335726

相关文章

  • windows无法连接到打印机0x0000011b原因分析及完美解决方法
         日常办公和生活中,打印机是不可或缺的重要设备。然而,在添加打印机过程中,经常会遇各种问题。然后我们在添加打印机遇到最多的多种错误:windows无法连接到打印机0x0000011b。0x0000011b有更新补丁导致的、有访问共享打印机服务异常、有访问共享打印机驱动异常等问题导......
  • 企业微信 启动错误 0xc0000142
    废话不多说,上教程。......
  • 大厂面经: 字节跳动 iOS开发实习生-飞书
    好家伙,线上面试,总时长1h30mins左右整体流程:0.自我介绍(0-2mins)1.做的比较难的事情(15min)我讲我之前写的一个低开平台,写了一个撤销回退功能,提了个pr,用了节流,用了命令模式1.1.节流怎么用的?用在哪?为什么用?1.2.节流把前面的触发直接clean了还是怎么处理?会不会清除掉一......
  • 题解_P2024 [NOI2001] 食物链
    [NOI2001]食物链题目描述动物王国中有三类动物\(A,B,C\),这三类动物的食物链构成了有趣的环形。\(A\)吃\(B\),\(B\)吃\(C\),\(C\)吃\(A\)。现有\(N\)个动物,以\(1\simN\)编号。每个动物都是\(A,B,C\)中的一种,但是我们并不知道它到底是哪一种。有人用两种说法对这......
  • Solution - Atcoder APC001E Antennas on Tree
    首先考虑判定什么样的选取是合法的。考虑到令任意一个点\(u\)为根。若\(u\)有至少两个子树没有点选中,那么这两个子树是无法区分的。所以可以知道需要满足任意一个点为根,都至多存在一个子树内部没有选中的点。接下来就要贪心的选出最少的点了。考虑对于每个点的限制都是子......
  • nohup ./minio server --address :9000 --console-address :9001
    [root@ecm-8cc1minio]#./minioserver/opt/minioINFO:Formatting1stpool,1set(s),1drivesperset.INFO:WARNING:Hostlocalhasmorethan0drivesofset.Ahostfailurewillresultindatabecomingunavailable.MinIOObjectStorageServerCopyright:20......
  • 牛客每日一题系列-001
    牛客23486小A与小B方法1:BFSfromcollectionsimportdequefromtypingimportListdefbfs(pos:tuple,direction:int)->List[List[int]]:ans=[[MAX]*Mfor_inrange(N)]vis=[[False]*Mfor_inrange(N)]queue=deque();queue.append((p......
  • Jenkins结合SVN报错E230001: Server SSL certificate verification failed的解决方法
    报错如下:svn:E230001:Commitfailed(detailsfollow):svn:E230001:UnabletoconnecttoarepositoryatURL'https://192.168.0.99/svn/xxx/dat'svn:E230001:ServerSSLcertificateverificationfailed:certificateissuedforadifferenthostname,is......
  • 大模型面经之bert和gpt区别
            BERT和GPT是自然语言处理(NLP)领域中的两种重要预训练语言模型,它们在多个方面存在显著的区别。以下是对BERT和GPT区别的详细分析。一、模型基础与架构BERT:全称:BidirectionalEncoderRepresentationsfromTransformers。架构:基于Transformer的编码器部......
  • SSM家政服务预约管理系统-计算机毕业设计源码00159
    目录1绪论1.1选题背景与意义1.2国内外研究现状1.3论文结构与章节安排2系统分析2.1可行性分析2.1.1技术可行性2.1.2经济可行性2.1.3操作可行性2.1.4法律可行性2.2系统流程分析2.2.1系统开发流程2.2.2用户登录流程2.2.3系统操作流程2.2.4......