
面试
文章平均质量分 89
研发面试知识点汇总
从流域到海域
此人不懒,但他除了干货什么都没有留下。
展开
-
Java面试特殊知识点总结 part1
并发与多线程main方法里没有创建新的线程,执行main方法一共需要几个线程?可以使用ManagementFactory的getThreadMXBean方法获取ThreadMXBean信息,进而获取线程信息进行查看。代码:package Exercise;import java.lang.management.ManagementFactory;import java.lang.management.ThreadInfo;import java.lang.management.ThreadMX原创 2021-01-30 22:40:12 · 195 阅读 · 1 评论 -
Java面试高频知识点总结 part4
整理自各种各样的面经、博客等,对问题的回答博主自身优化过。Java为什么不支持多继承,使用多继承的坏处是什么?钻石问题(菱形继承)所引发的二义性问题:假设类B和类C都继承自类A,且都重写了类A的某一个方法,而现在又有类D继承自类A和类B,那么此时类D会继承B、C的该同名方法,那么类D继承的该方法究竟是来自类A还是类B呢?这里产生了歧义。同理可以扩展到多个类:若子类继承的父类中拥有相同的成员变量,子类在引用该变量时将无法判别使用哪个父类的成员变量若一个子类继承的多个父类拥有相同方法,同时子类.原创 2020-11-10 12:52:21 · 249 阅读 · 0 评论 -
Linux 专题
Kill -9 杀不掉的进程kill -9 通过发送SIGKILL信号给进程,使其终止。但也不是一定能杀掉。僵尸进程:此时进程已经释放所有的资源,但是没有被父进程释放。僵尸进程只有等到父进程结束或者重启系统才会被释放。进程处于"核心态",并且在等待不可获取的资源。处于"核心态"的资源默认忽略所有信号。因此只能重启系统才能释放。...原创 2020-10-22 16:37:58 · 304 阅读 · 0 评论 -
Java面试高频知识点总结 part3
Java虚拟机类加载机制虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型,这就是虚拟机的类加载机制。在Java语言里面,类型加载、连接和初始化过程都是在程序运行期间完成。类的整个生命周期:即 加载→\rightarrow→连接→\rightarrow→初始化→\rightarrow→使用→\rightarrow→卸载其中 连接包括:验证→\rightarrow→准备→\rightarrow→解析Java Obje原创 2020-09-28 13:39:28 · 270 阅读 · 0 评论 -
【全网最全】面试高频知识点汇总 网络协议专题 (持续更新)
TCP、UDP协议的区别类型面向连接传输可靠性传输形式传输效率所需资源应用场景首部字节TCP面向连接可靠字节流慢快要求通讯数据可靠(文件传输、邮件传输)20-60UDP无连接不可靠数据报文段快少要求通信速度快(域名转换)8个字节TCP提供面向连接的服务。数据传送之前必须先建立连接,数据传送结束后要释放连接。TCP不提供广播或者多播服务。TCP的可靠性体现在传递数据之前,会有三次握手来建立连接,数据传递时,有确认、窗口、重传、拥塞控制原创 2020-09-24 09:55:06 · 1052 阅读 · 0 评论 -
面试操作系统常见问题
什么是操作系统操作系统(Operating System, 简称OS)是管理计算机软件与硬件资源的程序,是计算机的基石。操作系统本质上是一个运行在计算机上的软件程序,用于管理计算机硬件和软件资源。操作系统屏蔽了硬件层的复杂性。操作系统的内核(Kernel)是操作系统的核心部分,它负责系统的内存管理,硬件设备的管理,文件系统的管理以及应用程序的管理ApplicationKernelCpu Memory Devices系统调用用户态和系统态用户态(user mode):用户态运行的进程原创 2020-09-24 09:54:38 · 670 阅读 · 0 评论 -
面试Java基础问题汇总 part2
sleep()和wait()的共同点和不同点两者都可以暂停线程执行。sleep()没有释放锁,而wait()方法释放了锁。wait()通常用于线程间交互/通信,sleep()通常被用于暂停执行。wait()方法调用后,线程不会自动苏醒,需要别的线程调用同一对象的notify()或者notifyAll()方法。sleep()方法执行完成后,线程会自动苏醒,或者可以使用wait(long timeout)超时后线程会⾃动苏醒。为什么我们调⽤ start() ⽅法时会执⾏ run() ⽅法,为什么我原创 2020-09-24 09:54:47 · 294 阅读 · 0 评论 -
面试Java基础问题汇总 part1
编译时多态、运行时多态c++要更复杂,Java相对而言更容易回答。多态按执行过程分为两种情况,编译时多态和运行时多态。运行时多态的概念也可以被说成“一个接口,多个方法”。方法重载都是编译时多态。根据参数列表(数据类型、个数和次序),Java在编译时能够确定执行重载方法的哪一个。方法覆盖会表现出两种不同的多态性,当对象引用本类实例时,为编译时多态,否则(例:父类对象引用子类实例)则为运行时多态。在性能要求较高的代码中不提倡运用运行时多态,运行时多态方法较普通方法而言系统开销更大。原创 2020-09-24 09:52:56 · 300 阅读 · 0 评论 -
面试Python高频问题汇总
装饰器它们封装一个函数,并且用这样或者那样的方式来修改它的行为。python允许函数作为参数传递(Python里面一切皆对象)传递一个函数到装饰器函数中,在装饰器函数中实现一个用于装饰的函数,该函数自己做一些操作,并调用传入的函数,最后返回自身。实际上是一个闭包结构。可以使用@加装饰器函数来对一个函数实现装饰。functools.wraps可以解决函数被装饰后__name__变量变成用于装饰的函数的问题。使用方式 在装饰函数 前+ @wraps(被装饰函数名)注意:@wraps接受一个函数来原创 2020-09-24 09:52:44 · 361 阅读 · 0 评论