2021春招
文章平均质量分 89
2021春招,只为自己复习而用,勿扰。
Zyy~
我们曾如此渴望命运的波澜,到最后才发现:人生最曼妙的风景,竟是内心的淡定与从容……我们曾如此期盼外界的认可,到最后才知道:世界是自己的,与他人毫无关系!
展开
-
秋招总结(2021)
实习: 实习是在华为实习的,主要是做了两个项目,一个是NLQ模型的中文迁移,一个是Spark任务的日志解析和指数丰富。哈哈,做的还挺全面,无论后端还是算法任务都有接触到,整体来说,算法很有挑战性,我当时只是把最基础的给复现了一下,基于整体框架做了一个优化,最后准确率达到了40%多,也很荣幸拿到了榜单的前6名,但是对于具体的实习细节没有太多的关注。后来老大又提出了一种方法,又优化了很多。以前说实在的,了解过很多职场的东西,但是后来经过接触,才发现其实就程序员大多数都是很真诚的,都是愿意解决问题的。实习经历原创 2021-11-09 15:08:05 · 254 阅读 · 0 评论 -
《leetcode》146. LRU 缓存机制(两种方式)《双向循环链表》
146. LRU 缓存机制运用你所掌握的数据结构,设计和实现一个 LRU (最近最少使用) 缓存机制 。实现 LRUCache 类:LRUCache(int capacity) 以正整数作为容量 capacity 初始化 LRU 缓存int get(int key) 如果关键字 key 存在于缓存中,则返回关键字的值,否则返回 -1 。void put(int key, int value) 如果关键字已经存在,则变更其数据值;如果关键字不存在,则插入该组「关键字-值」。当缓存容量达到上限时,原创 2021-09-12 08:02:48 · 180 阅读 · 0 评论 -
《2021春招复习10》Redis《Redis》
1、简述下Redis☆Redis是一个开源的使用C语言编写,可基于内存,可持久化的Key-Value数据库,和Memcached类似,它支持存储的value类型相对更多,包括string(字符串),list(链表),set(集合),Zset(sorted set—有序集合),和hash(哈希类型)。优势:速度快,性能极高,可持久化,丰富的数据类型,支持数据备份。Redis和Memcached的区别:1、类型Redis是个开源的内存数据结构存储系统,用作数据库,缓存和消息代理。Memcached原创 2021-05-25 14:39:39 · 155 阅读 · 1 评论 -
《2021春招复习12》操作系统《操作系统》
1、线程,进程和协程的区别☆线程是指进程内的一个执行单元,也是进程内可调度的实体。1、线程和进程的区别线程进程拥有资源不拥有资源,但是可以访问隶属进程的资源资源分配的基本单位调度独立调度的基本单位,比进程更小的独立运行基本单位cpu调度和分派的基本单位系统开销开销小,线程切换只需保存和设置少量寄存器内容。开销大,创建和撤销时,都需要为之分配资源或回收资源如内存空间,I/O资源等,进行进程切换时,涉及当前执行进程CPU环境的保存及新调度进程CPU环境的设置原创 2021-05-25 14:12:40 · 164 阅读 · 1 评论 -
《2021春招复习9》数据库《MySql》
1、数据库的ACID特性(1)原子性(Atomicity)事务被视为不可分割的最小单元,事务的所有操作要么全部提交成功,要么全被失败回滚。回滚可以用回滚日志来实现,回滚日志记录着事务所执行的修改操作,在回滚时反向执行这些操作即可。(2)一致性(Consistency)数据库在事务执行前后都保持一致性状态。在一致性状态下,所有事务对一个数据的读取结果都是相同的。(3)隔离性(Isolation)一个事务所做的修改在最终提交之前,对其它事务不可见。(4)持久性(Durability)一旦事务提原创 2021-05-11 22:17:55 · 160 阅读 · 0 评论 -
《2021春招复习8》JUC(java util concurrent)《Java并发》
14、简述线程池 ☆ThreadPoolExecutor线程池及线程扩展策略1、为什么要用线程池? **降低资源消耗。**通过重复利用已创建的线程降低线程创建和销毁造成的消耗。 **提高响应速度。**当任务到达时,任务可以不需要等待线程创建就能立即执行。 **提高线程可管理性。**线程是稀缺资源,如果无限制的创建,不仅会消耗系统资源,还会降低系统的稳定性,使用线程池可以进行统一的分配,调优和监控。2、JUC中的线程池体系ThreadPoolExecutor类和ScheduledTh原创 2021-05-11 22:02:13 · 148 阅读 · 0 评论 -
《2021春招复习11》计算机网络《计算机网络》
1、计算机网路的分层:不同的协议栈用于定义和管理不同网络的数据转发规则。分层模型- OSI国际标准化组织ISO于1984年提出了OSI RM(Open System Interconnection Reference Model,开放系统互连参考模型)。OSI 参考模型很快成为了计算机网络通信的基础模型。OSI参考模型具有以下优点:1、简化了相关的网络操作;2、提供了不同厂商之间的兼容性;3、促进了标准化工作;4、结构上进行了分层;5、易于学习和操作。OSI参考模型各个层次的基本功能如原创 2021-05-10 23:03:31 · 323 阅读 · 0 评论 -
《2021春招复习7》线程同步的几种方式《Java并发》
8、线程同步的几种方式☆ 同步是为了在多线程环境下,安全地访问临界区(共享区域),程序不会产生设计之外的错误结果(举个例子,如果一个银行账户同时被两个线程操作,一个取100块,一个存100块。假设账户原有0块,如果取钱线程和存钱线程同时发生,会出现什么错误?)1、Synchronized☆ 同步方法:即有synchronized关键词修饰的方法。由于java的每个对象都有一个内置锁,当用此关键词修饰方法时,内置锁会保护整个方法。在调用该方法前,需要获得内置锁,否则就处于阻塞状态。 同步代转载 2021-05-09 21:46:47 · 201 阅读 · 0 评论 -
《2021春招复习6》基础概念《Java并发》
1、简述下Java的内存模型(Java Memory Model (JMM))全面理解Java内存模型 JVM中存在一个主内存(Main Memory或Java Heap Memory),Java中的所有变量都是存在主存中的,对所有线程共享。每个线程又存在自己的工作内存(本地内存/Working memory),其中主要保存主存中某些变量的copy,线程对所有变量的操作并非发生在主存区,而是发生在工作内存中,但线程之间不能直接访问,变量在程序中的传递主要依靠主存中来完成。引申:线程之间是如何通信的原创 2021-05-09 21:24:04 · 108 阅读 · 0 评论 -
《2021春招复习5》JVM《JVM》
1、介绍JVM的内存区域(运行时数据区)。☆ JVM中内存分为若干部分:堆、方法区、虚拟机栈、本地方法栈、程序计数器。其中堆和方法区是线程共享的部分,其他是线程隔离的。1、堆 Java堆是用来存放实例对象和数组对象的,由于存在逃逸分析技术(分析这个对象不会被其他方法或者线程调用),也可以分布在栈上,随着出栈而被销毁,同时,Java堆也是垃圾回收的主要区域,由于现在垃圾收集器基本都采用分代垃圾收集算法,所以Java堆还可以细分为:新生代和老年代。Java堆在物理上可以不连续,只要逻辑连续就好原创 2021-05-07 15:46:40 · 116 阅读 · 0 评论 -
《2021春招复习4》Java基础《集合》
24、ArrayList和LinkedList的区别:底层数据结构:ArrayList底层使用的是数组,LinkedList底层是双向链表数据结构(JDK1.6之前称为循环链表)增删改查:ArrayList:数组:尾插:O(1) 插入,删除:O(n-i) 后面n-i个元素需要向前或向后移动1位。支持快速随机访问。LinkedList: 链表:特定位置插入删除:O(n) 移动到指定位置进行操作, 删除插入本身:O(1) 改一下前驱后继就行了。不支持快速随机访问内存空间占用:ArrayL原创 2021-04-07 17:58:32 · 129 阅读 · 0 评论 -
《2021春招复习3》Java基础《面向对象》
18.Java反射机制定义:(1)Java反射机制的核心是在程序运行时动态加载类并获取类的详细信息,从而操作类或对象的属性和方法。本质是JVM得到class对象之后,再通过class对象进行反编译,从而获取对象的各种信息。(2)Java属于先编译再运行的语言,程序中对象的类型在编译期就确定下来了,而当程序在运行时可能需要动态加载某些类,这些类因为之前用不到,所以没有被加载到JVM。通过反射,可以在运行时动态地创建对象并调用其属性,不需要提前在编译期知道运行的对象是谁。优缺点:1.优点:运行期类型的原创 2021-04-06 14:33:04 · 113 阅读 · 0 评论 -
《2021春招复习》Java基础《语法2》
语法8.Comparable和Comparator的区别: public interface Comparable<T>{//内部比较器,比较属性,静态绑定 public int compareTo(T o); } public interface Comparator<T>{//外部比较器,比较器,动态绑定 int compare(T o1,T o2); boolean equals(Object obj); }(1)关于ComparableCompa原创 2021-03-28 22:31:08 · 166 阅读 · 1 评论 -
《2021春招复习》Java基础《语法1》
语法2.自动装箱与拆箱基本类型都有对应的包装类:Byte,Short,Integer,Long,Float,Double,Character,Boolean;装箱过程是通过调用包装器的valueOf方法实现的,而拆箱过程是通过调用包装器的xxxValue实现的。eg如intValue() (xxx代表对应的基本数据类型)public static Integer valueOf(int i){ if(i>=IntegerCache.low&&i<=IntegerCa原创 2021-03-28 20:48:55 · 135 阅读 · 1 评论