更新 腾讯云 一面 面经 已OC版

把自己的一些面试完的感想和想法写一写记录一下,本人非科班出身,不是大佬,瞎写,请大佬轻喷。

一、拷打项目

1、项目团队人数是多少,介绍一下项目背景,你在这个团队里面主要负责的范围在哪。

2、这个项目是从0到1完全由你一个人写的吗?还是有多个人也参与这块。

3、你负责这个范围内有哪些比较痛点的问题。

(前面几个问题都是太经典的了,基本都会问)

4、项目的通信协议是什么、通信距离是多少?

通信协议是使用5.8Ghz的无线wifi信号,通信距离约为1-2km。(其实这个跟二面面试官问的差不多,应该是考察TCP和UDP,一面和二面确实不清楚,二面后才去查这方向,发现我们的通讯硬件采用的是TCP连接。)

二、拷打项目

1、python用了几年?

两年左右的时间,学习的时间其实不算很长。

2、装饰器有了解吗?

了解,装饰器是依靠于闭包的原理,本质是一个函数。接受的参数是一个函数,然后返回一个函数,等等~

3、http协议有了解吗?

有的,然后从Http0.9一直讲到了http3.0

4、平常有没有接触一些安全方面的问题?

(没有)

三、手撕代码

1、力扣 240 搜索二维矩阵2

这里因为我没写过搜索矩阵2,之前写过搜索矩阵1,当我看到那个题目的矩阵的时候,我下意识就以为是搜索矩阵1,直接按照搜索矩阵1的代码进行写。写完了在给面试官进行讲解的时候才发现好像不对,得不到最终结果。然后又重新调整了代码实现搜索矩阵2的方法。对于有些题目有相似变种的,一定要看清楚,别写错了。

2、写一个装饰器实现: 对异常报错重试3次

(少了问测试场景题的环节,时间省得还比较多,然后面试官估计看我前面八股对于装饰器回答挺好的,加测了一道题,但是没怎么亲自写过装饰器,最终没完全撕出来,后续查到的代码应该如下:)

from functools import wraps

def retry(max_retries=3):
    def decorator(func):
        @wraps(func)
        def wrapper(*args, **kwargs):
            last_exception = None
            for attempt in range(max_retries):
                try:
                    return func(*args, **kwargs)
                except Exception as e:
                    last_exception = e
                    print(f"尝试 {func.__name__} 第 {attempt + 1} 次失败,错误:{str(e)}")
            raise Exception(f"重试 {max_retries} 次后仍失败") from last_exception
        return wrapper
    return decorator

# 使用示例
@retry(max_retries=3)
def risky_operation():
    # 模拟可能失败的操作
    import random
    if random.random() < 0.8:  # 80% 概率失败
        raise ValueError("服务暂时不可用")
    return "操作成功"

#测试##牛客创作赏金赛#
全部评论
就一面吗
点赞 回复 分享
发布于 05-25 22:58 湖北

相关推荐

05-25 17:39
湖南大学 Java
一面1、使用消息队列,如何避免重复消费;&nbsp;&nbsp;&nbsp;&nbsp;生产者配置中启用了幂等性,kafka会为每一条消息分配唯一的序列号(Sequence&nbsp;Number)和生产者ID。Broker会拒绝重复的序号,确保同一分区内的消息不重复。消费者处理了消息会正确提交偏移量。2、mq主从复制,如果主节点挂了之后,会出现什么情况&nbsp;&nbsp;&nbsp;&nbsp;主节点Leader挂掉之后,会立即触发选举机制,从该分区的其他从节点中选举一个新的Leader来接管,在选举新的Leader的过程中,可能会出现短暂的延迟,导致消费者和生产者无法正确向分区发送和消费消息,但是一般是短暂的时间几百毫秒或者几秒。如果原来的Leader节点只是暂时的故障,很快恢复,它会重新加入分区,成为Follower节点进行数据同步。如果原来的Leader节点无法回复或者挂掉的时间过长,新的Leader节点将继续承担分区的读写操作,而原来的Leader上未复制到新的Leader的数据可能会丢失。3、在java类中可以通过反射来访问一类的私有成员吗?&nbsp;&nbsp;&nbsp;&nbsp;可以访问,可以通过getDeclaredFields方法获取类中所有声明的字段,包括私有字段,通过设置Field对象的setAccessible(true)方法取消java语言访问检查,从而可以访问并修改私有字段的值。4、开放题4.1有两个文件,一个文件A,大小200MB,文件B,大小10G,内存限制是265MB,求所有在文件A不在B的行。4.2给n个正整数,求最小的k个值,这里面n远大于k5、从输入一个页面到显示页面的过程5.1URL查询IP地址是通过什么协议&nbsp;&nbsp;&nbsp;&nbsp;DNS协议5.2DNS是属于什么层的协议&nbsp;&nbsp;&nbsp;&nbsp;DNS&nbsp;属于应用层协议&nbsp;:DNS&nbsp;协议运行在&nbsp;TCP/IP&nbsp;协议栈的应用层,它使用&nbsp;UDP&nbsp;或&nbsp;TCP&nbsp;协议进行通信。UDP&nbsp;通常用于简单的&nbsp;DNS&nbsp;查询,因为其速度快且开销小;而&nbsp;TCP&nbsp;则用于更复杂的&nbsp;DNS&nbsp;操作,如区域传输等。6、介绍一下操作系统的虚拟地址和物理地址&nbsp;&nbsp;&nbsp;&nbsp;虚拟地址:是程序运行时使用的地址空间,由操作系统和硬件共同管理。允许程序在逻辑上独立都物理内存进行编址。使得程序编写和移植更加方便。每个进程都有自己的虚拟地址空间,不同进程的虚拟地址空间是相互隔离的,这样可以保证各个进程的安全性和独立性。物理地址:是计算机实际的内存地址,由内存管理单元MMU负责将虚拟地址映射到物理地址。物理地址是唯一的,用于直接访问物理地址中的数据。操作系统通过页表等结构来维持虚拟地址和物理地址之间的转换。7、页中断是什么时候发生的&nbsp;&nbsp;&nbsp;&nbsp;访问未分配的页面:当进程试图访问一个尚未分配给他的虚拟地址会触发页中断。这可能是因为该页面从未被分配过,或者是因为内存紧张,该页面被操作系统临时调出磁盘交换空间中。权限问题:如果进程试图以不正确的权限访问某个页面,会导致页中断。操作系统会检查页面的访问权限,并在发现委会访问时触发页中断。硬件异常:某些一件故障或者异常情况也可能会导致也终端,例如内存控制器检测到内存错误。8、linux如何表示文件系统的权限&nbsp;&nbsp;&nbsp;&nbsp;符号表示法:r表示读、w表示写、x表示执行&nbsp;&nbsp;&nbsp;&nbsp;数字表示:读、写、执行权限分别用数字4,2,1表示9、linux文件系统中,在一个文件中,查找一个关键字上下10行的一个内容,如何查找&nbsp;&nbsp;&nbsp;&nbsp;可以使用grep命令结合上下文参数-A显示匹配行后n行,-B显示匹配行前n行-C显示匹配行前后各n行。
查看12道真题和解析
点赞 评论 收藏
分享
评论
点赞
1
分享

创作者周榜

更多
牛客网
牛客企业服务