字节面试准备

发布时间 2023-06-23 21:37:11作者: 小龙虾爱大龙虾
time-wait存在的意义 
接口和抽象类的区别 
多态的底层原理 
线程池 
StringBuilder及StringBuffer的区别 
视频流功能测试 
微信发语音功能测试 
多条语音但没有声音怎么测试 
python两个队列找出相同的元素
def find_common_elements(lst1, lst2):
    set1 = set(lst1)
    set2 = set(lst2)
    return list(set1 & set2)

时间复杂度:假设两个列表的长度分别为 n 和 m,那么 set1 和 set2 的时间复杂度均为 O(n),取交集的时间复杂度为 O(min(n, m)),因此总的时间复杂度为 O(n) 或 O(m) 或 O(min(n, m)),取决于列表中较小的一个。

空间复杂度:需要创建两个集合,存储列表中的元素。因此空间复杂度为 O(n + m),其中 n 和 m 分别为两个列表的长度。

若两个队列是无限队列:

import itertools

def find_common_elements(q1, q2):
    set1 = set(itertools.islice(q1, 1000))
    set2 = set(itertools.islice(q2, 1000))
    return list(set1 & set2)

  或者使用生成器,我们可以使用生成器来逐个遍历列表或队列中的元素,不需要一次性将所有元素加载到内存中。

def find_common_elements(lst1, lst2):
    set2 = set(lst2)
    return [x for x in lst1 if x in set2]

  python找到缺失的正整数

session和cookie的区别;session的原理

session 和 cookie 是两个常见的 Web 开发中用于跟踪用户状态的技术,它们的主要区别如下:

  1. 存储位置不同:
  • cookie 存储在客户端,可以在客户端被修改或删除;
  • session 存储在服务器端,客户端无法直接修改或删除。
  1. 存储内容不同:
  • cookie 只能存储字符串类型和少量数字;
  • session 可以存储任意类型的数据,包括对象和数组等。
  1. 生命周期不同:
  • cookie 可以设置过期时间,指定 cookie 在客户端的存储时间;
  • session 默认情况下在客户端关闭时失效,也可以设置超时时间。

Session 的原理:

Session 是一种服务器端的技术,可以在服务器端存储用户的状态信息,如登录状态、购物车信息等。其原理如下:

用户访问网站时,服务器会生成一个唯一的 Session ID,该 ID 通常以 cookie 的形式发送给客户端保存;

客户端在后续的访问中,会将该 Session ID 作为参数发送给服务器;

服务器根据该 Session ID 查找对应的 Session 数据,进行相关操作,如判断用户是否已登录、获取购物车信息等;

Session 数据通常存储在服务器的内存或数据库中,不同的服务器存储方式可能有所不同。

由于 Session 存储在服务器端,因此相比于 cookie 更加安全,而且存储内容更加丰富,可以存储任意类型的数据。但也会带来一些问题,如存储开销大、需要进行 Session 管理等。因此,在实际开发中,需要根据具体情况选择使用 cookie、session 或者两者结合使用。

算法:从数组中选出元素组成不大于给定数n的最大元素