185黑皮师范生 level
获赞
16
粉丝
5
关注
0
看过 TA
133
门头沟学院
2026
Python
IP属地:江苏
暂未填写个人简介
私信
关注
感觉Python相关的面经和八股很少,主包主要分享下自己的一些面试,都是一些基础,少数涉及项目最近面的一家1.最常使用的 Python 版本?常用3.6和3.12,提到新版本中字典的+=操作的字节码变为原子操作,以及3.14正在尝试移除GIL锁。2.提到了多线程,问对Python中进程、线程与协程的理解从操作系统轻量级进程(LWP)角度回答的,多线程、多进程都对应多个LWP,但是一个进程对应一个解释器,GIL锁导致多线程只能利用单核,而协程是在用户态通过事件循环实现的应用层调度,只对应一个LWP。3.这3个并发模型的应用场景?多线程常用于传统Web开发中IO密集操作;多进程用于启动多个Worker利用多核;协程更适用于处理IO密集型任务,但容易被计算操作阻塞事件循环,多线程则不会。4.举几个 Python 魔术方法的例子。举例说明了__new__(构造单例)、__init__(初始化)、__call__(类装饰器)、上下文管理器(__enter__/__exit__)和迭代器(__iter__/__next__)等方法。5.对元类的理解元类类的类,是控制类生成阶段的钩子,举例实习中曾见过通过元类为类的方法自动添加限流,但通常能用继承或装饰器解决的问题不会使用元类。6.提到类生成,问有没有了解过子类生成的魔术方法__init_subclass__不知道,之前没有了解过……7.静态注释覆盖率自己开发基本会全量覆盖注解和必要注释,以追求代码自解释性(其实想问的是类型注解,没理解对,不过也答了相关的内容)8.对 Pydantic 的理解Pydantic通过类型注解实现数据校验和序列化,V2版本用Rust重写核心以提升校验和序列化这种CPU密集型操作的效率,可使用Field对象和装饰器+自定义方法定义字段或字段间校验。9.Pydantic如何从类中读取声明并完成 Schema 校验?没看过这块源码,推断是从类的__annotations__私有变量中提取类型注解信息,然后再进行处理。10.是否尝试过用 Pydantic 对第三方或自定义类(不继承BaseModel)做声明?没有做过……11.开发中有遇到数据库死锁的情况吗?开发中未实际遇到过死锁,但举例可能场景,可通过在事务中按字段排序固定顺序操作数据库来预防和解决。12.接触过的数据库表或Redis Key最大数据规模有多大?因为实习项目都是ToB私有化部署,接触过最大也就单表不到千万级几百万的数据量,跟面试官说想考察优化和治理策略可以给场景。13.讲一下实习中提到的租户资源多线程查询慢的问题,是如何发现、排查和解决的?(面试官可能以为这是个数据库优化)通过本地打印线程耗时发现,根因是元类为调用其它SaaS接口的client的所有方法添加了粗粒度限流导致。14.DevOps 实践经验?实习项目中使用GitLab的CI/CD流水线,了解其YAML配置文件的写法及代码检查、依赖扫描等钩子作用。15.个人玩具项目中状态机和 Outbox 的设计(第一个问我玩具项目的面试官!)状态机是通过定义字典控制对象状态的合法流转以及流转动作;Outbox模式通过在数据库事务中新增本地消息表插入待发送消息,用定时任务补偿发送失败,来保证操作原子性与一致性。16.本地响应很快的接口,到线上需要6、7秒,会从哪些方面排查?采用分治思想,从前后端全链路、本地与线上环境差异、数据库、缓存网络延迟、以及服务器资源耗尽(如TCP连接队列满)等层面排查。(面试官说没有提到主要的用户前端请求进入服务器的完整链路,比如DNS解析、CDN分发等)总结:面试官很nice,其实主包一直是对自己对Python底层的理解还是很自信的,开发框架和一些常用的模块都看过源码,但是面试官还是能顺着我说的拷打我(基本上一般面试官想拷打我需要在他的场景追问才行,这个可以顺着我的理解追问),但是最后还是很认可主包的之前面的一家1.实习中数据模型初始化操作健壮性优化怎么做的?针对其它SaaS不同版本可能出现同一个接口不同的表现形式,通过读取环境变量切换执行逻辑,同时针对资源名称哈希值可能重复的问题,分别增加了版本判断校验逻辑和基于“实例名+删除时间”的联合唯一校验字段。2.Python是强类型还是弱类型?Python是强类型语言。3.Python是动态类型还是静态类型?Python是解释执行的动态语言,代码由Python虚拟机中的解释器逐行解释执行,但也会编译成.pyc字节码文件。因为运行时才知道数据类型,Python函数本来就能接受和返回不同类型 一些模块源码中常用Overload装饰器主要是为了通过静态检查工具和方便开发者阅读。4.Python有哪些数据类型?Python中一切皆对象,常用数据类型包括整型、浮点型、字符串、列表、字典、元组和集合。5.哪些数据类型是可变的,哪些是不可变的?整型是不可变对象,重新赋值其内存地址会变;列表是可变对象,修改内容其内存地址不变,并举例说明将可变对象作为函数默认参数会引发数据串扰问题。5.熟悉的魔术方法?老演员6.元类的理解依旧老演员7.既然很多能用继承解决,为什么一定要引入元类?只有继承解决不了问题的时候才需要用元类,比如框架设计让开发者继承就可以自动注册自定义插件而不需要加类装饰器,或者真的需要控制类的生成而不是类的表现。8.写基本SQL语句有哪些关键字?SELECT、FROM、LEFT JOIN、GROUP BY、WHERE、HAVING和LIMIT等常用关键字。9.SQL语句的执行顺序是怎样的?从FROM开始,然后SELECT选择列和行,最后LIMIT10.Django ORM分组写法记不清api了…但好像也说对了annotate总结:半小时初面,看主包底子没啥问题还要面下一个候选人就结束了……主包是误打误撞学的Python后端,最近也学了一些agent开发,当然时间紧没有太深入学也没有大量投递这些岗位,不过感觉如果面试得是用Python做agent开发的公司,应该这些也都可能会问(其实之前还有面的一家岗位写的后端,实际是agent,然后面完还给我发offer了,我的感受是其实agent开发和后端工程落地还是蛮像的…如果你不去深究大模型本身的话)
发面经攒人品
0 点赞 评论 收藏
分享
前两天一场笔试的算法题,因为很久没写过图论相关的,导致有一道题曾经甚至做过的题没写出来,最后不出意外地没连面试都没进。那天上午本来应该还有一个hr约面的电话,但那时因为手机静音,正在休息就没有接到。等到下午我准备回过去时,发现是虚拟号码无法回拨。其实我根据ip就大概率知道是哪家公司,打电话给我说明是准备约面。其实我并不想去这家公司,这家公司规模不大,也算不上行业独角兽,因为我的想法是,不可能再像秋招一样有机会便去了。但我现在需要面试的反馈,不管是正向还是负向,我太需要证明自己了。我自以为在可以拿到实习公司的转正后,自以为在有比正编研发的水平高后,自以为在有了研发的工作经验后,就可以很快拿到自己心仪的offer。秋招前我匆匆忙忙地学,一边实习一边上课一边学技术,最后拿到一家中小公司的实习转正。那时是很开心的,因为自己只学了两三个月、专业背景不匹配、没有研发的实习经历、从来没有入过行。在这之前我每天学习时都在怀疑——我现在学习的东西究竟有没有用?我到底能不能凭借这些找到自己期望的工作?——但至少还是坚持下去了。在收到offer的最后一场面试之前,我还参加了一场面试,那个面试官一脸鄙夷地看着我,似乎在嘲弄我,全程几乎没有多少技术知识的考察,只是在劝退我。我那天中午和兄弟吃饭时没忍住哭了出来,我难过的是,我竟然没有自信去怀疑面试官的问题,而是认为自己可能真的不合适。就像生活总不会一帆风顺一样,我也并不会事事受阻。在拿到研发的入场券后,我毫不犹豫地一个人去了广东,欣慰的是实习的工资已经够我在广东生活,也够我给自己换台新电脑,回家时我拿着挣到的为数不多的工资,给妹妹和奶奶买了些礼物。实习期间也认识了一个好朋友,我向他学习了很多,干了一段时间后发现其实大多的从业者水平并不是很高,至少在这家公司(除了那个朋友),一些社招进来的正编在能力上甚至还不如我,这也给了我春招再战的信心。年前我和leader聊离职的事情,其实看得出来,当我想走的时候,他们是可以开出更高的待遇的。可笑的是,我根本不知道自己值多少,再加上多方面的因素,我还是决定辞去这份工作。我讨厌不够聪明的自己,就在刚刚,我又有一道算法题没有做出来,我还有很多八股没背,我还有很多项目细节没梳理好,如果我更聪明,会不会在大二第一次尝试算法比赛时就知道自己有天赋、敢走这条路了呢?如果我更聪明,会不会这些八股早就记住了而不需要再一遍遍看、一遍遍理解了呢?如果我更聪明,会不会只需要做一个项目就可以一通百通、不需要再专门了解那些系统设计了呢?我相信自己是比很多人强的,可我每次看到真正有天赋的人时,我都会失落,因为我还是不够聪明。我讨厌不够聪明的自己。
0 点赞 评论 收藏
分享
2025-10-21 14:29
门头沟学院 Python
📍面试公司:广州嘉为💻面试岗位:Python后端❓面试问题:1. 列表推导式、生成式与普通列表定义的差异是什么2. Python中你最熟悉的数据类型是哪种,常用操作有哪些3. 对Python类中的魔法方法了解多少,举例说明4. 如何用Python实现周期性或定时任务5. 为什么选择Django而不是Flask或FastAPI等框架6. 是否使用过Django REST Framework,了解哪些优势7. 了解哪些Django自带中间件,分别有什么作用8. 在Django中如何实现数据排序和分页9. Redis常用的数据类型有哪些,分别适用什么场景10. 项目中如何使用Redis做缓存,数据结构如何设计11. 熟悉的MySQL存储引擎有哪些,各有什么特点12. 描述一条SQL语句在MySQL中的完整执行流程13. MySQL索引的底层是如何实现的,使用什么数据结构14. B+树相比B树和红黑树的最大优势是什么15. 商城项目中让你最有成就感的功能是哪个,技术实现是怎样的16. 瀑布流分页是如何实现的,如何结合游标和缓存优化17.自己讲了讲之前想说的一种索引使用时索引下推情况18. 是否了解Celery框架,是否有实际使用经验29. 如果技术能力与岗位要求有差距,你的学习计划和预计周期是怎样的🙌面试感想:全程约60分钟,主要Python基础、Web框架、数据库、及项目一些细节。感觉答的不好,而且有些紧张,期间mysql背八股背的太官方被怀疑zuo弊,后面尽可能去讲自己理解。还是给过了
查看19道真题和解析
0 点赞 评论 收藏
分享

创作者周榜

更多
关注他的用户也关注了:
牛客网
牛客网在线编程
牛客网题解
牛客企业服务