随笔分类 - 面试集锦
摘要:1. http的长连接和短连接 短连接:短连接是指每次客户端请求与服务器响应完成后,连接就会关闭。也就是说,每次请求都需要重新建立连接,完成一次请求后立即关闭连接。这意味着每个HTTP请求都需要经历连接建立、数据传输和连接关闭的过程。 短连接的特点包括: 每个请求都需要建立和关闭连接,增加了网络开销
阅读全文
摘要:1. TCP三次握手和四次挥手 TCP三次握手的过程如下: 第一步(SYN):客户端向服务器发送一个带有SYN(同步)标志的TCP包,指示客户端希望建立连接。这个包包含一个随机的初始序列号(ISN)。 第二步(SYN-ACK):服务器收到客户端的SYN包后,会发送一个带有SYN和ACK(确认)标志的
阅读全文
摘要:1. DNS解析过程 DNS解析(Domain Name System Resolution)是将域名转换为IP地址的过程。 以下是DNS解析的详细过程: 发起解析请求:当您在浏览器中输入一个域名时,您的操作系统会发起一个DNS解析请求。该请求被发送到您计算机上配置的本地DNS服务器,通常由您的互联
阅读全文
摘要:1. Redis的数据结构有哪些 1. 字符串(String):字符串是Redis最基本的数据结构。它可以存储任意类型的数据,包括文本、整数或二进制数据。字符串类型的值最大可以达到512MB。 SET name "John" GET name ``` 将字符串"John"存储在键名为"name"的字
阅读全文
摘要:1. mysql数据库四种常见数据库引擎 1. MyISAM: MyISAM是MySQL最早的数据库引擎之一。它被设计成处理大量的插入和查询操作。MyISAM表格的数据存储在三个文件上:.frm文件存储表结构,.MYD文件存储数据,.MYI文件存储索引。MyISAM表格不支持事务处理和崩溃恢复,因此
阅读全文
摘要:1. 进程和线程的区别 进程(Process)和线程(Thread)是操作系统中的重要概念,它们表示执行中的程序的不同执行单元。下面是它们的区别: 定义:进程是一个独立的执行环境,具有独立的内存空间,包含程序代码、数据和执行状态。线程是进程内的一个执行单元,共享相同的内存空间和系统资源。 资源占用:
阅读全文
摘要:1. 乐观锁和悲观锁的理解及使用 乐观锁和悲观锁是在并发编程中使用的两种并发控制机制,用于解决多线程或多进程环境下的数据一致性问题。 1. 悲观锁(Pessimistic Locking): 悲观锁的思想是假设并发访问会导致冲突,因此在访问共享资源之前,悲观锁会将资源锁定,确保其他线程无法修改资源。
阅读全文
摘要:1. SQL语句类型 1. DDL(Data Definition Language,数据定义语言): DDL语句用于定义数据库对象(如表、索引、视图等)。常见的DDL语句包括: CREATE:用于创建数据库对象,如创建表、索引、视图等。 ALTER:用于修改数据库对象的结构,如修改表的列、添加约束
阅读全文
摘要:1. Python中常用的库有哪些,作用分别是什么 requests: requests 是一个用于发送 HTTP 请求的库,它提供了简单而优雅的 API,可以轻松地发送 GET、POST、PUT、DELETE 等请求,并处理响应数据。它支持会话管理、身份验证、文件上传等常见的 HTTP 功能,是进
阅读全文
摘要:1. 获取当前目录下所有文件名 import os def get_all_files(directory): file_list = [] # os.walk返回一个生成器,每次迭代时返回当前目录路径、子目录列表和文件列表 for root, dirs, files in os.walk(dire
阅读全文
摘要:1. 解释下Python中的面向对象,以及面向对象的三大特点: 在Python中,面向对象编程(Object-Oriented Programming,简称OOP)是一种编程范式,它将数据和操作数据的方法组织在一起,形成对象。面向对象的编程主要围绕着类(Class) 和对象(Object)展开,通过
阅读全文
摘要:1. 如何理解Python中的深浅拷贝 浅拷贝(Shallow Copy)创建一个新的对象,该对象的内容是原始对象的引用。这意味着新对象与原始对象共享相同的内存地址,因此对于可变对象来说,如果修改了其中一个对象,另一个对象也会受到影响。浅拷贝通常使用copy模块的copy()函数或者对象的copy(
阅读全文

浙公网安备 33010602011771号