一道大厂Python面试题,4种解法,从青铜到王者引发的“思考”!

高频Python一线大厂面试题:算法+爬虫+数据处理+基础 ​很多学Python的小伙伴找工作时,只是一家家投简历,一遍遍做笔试,一次次去面试,然后一次次被拒绝……其实并不知道如何系统准备一场面试,每次面试都像撞大运,这样的求职过程,既困难又痛苦。 在本文中,我总结Python面试中最常见的69个问题。希望能够帮助你在2021年求职面试中脱颖而出,找到一份高薪工作。这69道面试题涉及Python基础知识、数据处理、爬虫、算法、大厂面试题等多个方面。 同时,对于Python基础掌握不牢固的小伙伴们,我们推出了C站软件工程师能力认证,帮助大家进行系统化学习,充分建立 阅读详情

“菜鸟学Python”,第“518”篇原创

金九银十应该是校招的黄金时间,大家都知道去大厂面试,算法是一个必须要过的关,无论是笔试还是面试的环节都需要。而算法这个东西如果平时你就是调包侠或者做app的时候,根本用不到,所以很有必要提前磨枪准备的。

对于国外的大厂比如微软,谷歌这样的顶级互联网公司,无论是是面试SDE( 软件开发工程师),MLE(机器学习开发工程师),还是DS(数据科学家),第一关都是考察你的coding能力。最近有同事去苏州微软面试,回来就感慨,算法真的太重要了,每一轮面试都需要,

下面菜鸟哥用一个非常非常简单的例子,来引出我们这次的讨论。

在国内大厂字节面试或者国外的facebook面试的时候经常会问动态规划的面试题目,这个题目看起来是很难,小白很不好理解,这次先从一个斐波那契额数列的题目来由浅入深的讲述,算是开胃菜,下一篇来讲动态规划。

题目1:

1,1,2,3,5,8,13,21,34 。。。

求数值N项的值?

题目2:

走楼梯问题:

如果有100阶台阶,一个人一次可以迈1-3阶,请问有多少种走法。

其实两个题目都是大同小异,都是用递归的解法,如果你吃透第一题,第二题迎刃而解。

1.屌丝的解法:

这个就是最简单的屌丝的解法,没有啥好说的,如果n是第0项或者是第1项直接返回本身,如果从第2项开始递归往前找。

2.青铜的解法

青铜战士觉得上面的代码写的有点不够Pythonic,于是就改成了一行代码来表达,这样可以给面试官秀一下你的肌肉

上面两种解法虽然能过关,但是肯定不满意,面试会问,你觉得这两个解法,你满意了吗,有没有啥问题呢?

菜鸟肯定会认为,我这不是优化了代码,3行变一行了嘛!其实差远了,一个好的代码不仅仅是漂亮,而且还有性能上快,内存占用少。这个时候就需要你对代码有深入的思考,上面的代码如果我们求fib(50),fib(100),这个时候会运行的非常慢,原因就是因为你的代码,里面重复计算的很多。

比如我们计算10的时候,我们需要计算9和8,而计算9的时候又需要计算8和7,这里面8被重复计算了,以此类推整个二叉树里面很多节点都被重复计算了,如果用上面的算法,我们的算法的复杂度是2的(n-1)次方。

所以你只考虑代码能运行,却没有考虑代码的性能和复杂度,这肯定是不行的额,这就是面试官会问你,上面的代码你觉得ok吗?

这就考察了,你平时写代码的时候有没有考虑过性能问题?

3.高手的解法

高手开始思考了,那么我是不是加一个缓存来存储各个节点的值,这样的话我们计算的时候先从缓存里面搜索,如果存在了就不用去计算了,节省的计算的次数,提高了程序的性能。

这里我们用了一个全局的cache字典作为缓存,来存储我们每一次的计算,计算开始先搜索缓存有咩有,没有的话再开始计算。做到这里面试官会微微一笑,算是小满意了。但是很明显对于微软,facebook这样的国外大厂还不够?

你有没有考虑过你的代码的扩展性,就是你这个算法用缓存,如果是题目2也是这样的问题,你是不是要重复造轮子,能否把你的代码进行封装作为一个通用的轮子,这样题目2或者有类似的这样的问题也能处理。

这就考察了你平时写代码的时候,有没有思考过扩展性。

4.王者解法

我们用Python里面的装饰器进行封装算法,把它做成一个底座,这样上面如果插入fib的业务逻辑函数,这个代码就是计算斐波那契数列,如果加上计算爬楼梯的业务逻辑函数,这个代码就变成计算爬楼梯了,非常有扩展性。

经过上面的几次的蜕变,化茧成蝶,虽然举例这个面试题很简单,但是道理是相同的,如果你平时写代码的时候缺乏思考,只是得过且过只能run能跑起来,这个是远远不够的,好的代码一定是要推敲的,而你平时写代码会去思考吗?

希望本篇对爱好Python的同学有启发和感悟,您细细品一下。

好了,欢迎大家在留言区留言吱一声,也欢迎给个三连,支持一下哈。

左手Python,右手Java,升职就业不愁啦!



推荐阅读:
入门: 最全的零基础学Python的问题  | 零基础学了8个月的Python  | 实战项目 |学Python就是这条捷径
干货:爬取豆瓣短评,电影《后来的我们》 | 38年NBA最佳球员分析 |   从万众期待到口碑扑街!唐探3令人失望  | 笑看新倚天屠龙记 | 灯谜答题王 |用Python做个海量小姐姐素描图 |碟中谍这么火,我用机器学习做个迷你推荐系统电影
趣味:弹球游戏  | 九宫格  | 漂亮的花 | 两百行Python《天天酷跑》游戏!
AI: 会做诗的机器人 | 给图片上色 | 预测收入 | 碟中谍这么火,我用机器学习做个迷你推荐系统电影
小工具: Pdf转Word,轻松搞定表格和水印! | 一键把html网页保存为pdf!|  再见PDF提取收费! | 用90行代码打造最强PDF转换器,word、PPT、excel、markdown、html一键转换 | 制作一款钉钉低价机票提示器! |60行代码做了一个语音壁纸切换器天天看小姐姐!|

年度爆款文案

点阅读原文,领AI全套资料
某大厂Python面试题目(回忆版) Python面试基础 什么是PEP8 pep8是一种编程规范,内容是一堆让你的程序更具有可读性的建议 什么是pickling和unpickling? pickl模块读取任何Python对象,将他们转化为字符,然后使用dump函数将其转储到一个文件中的过程叫做pickling 反之从存储的字符串文件中提取原始的Python对象的过程,叫做unpickling Python语言是一种解释... 阅读详情

相关推荐

Python大数据大厂面试题及答案解析.doc

完善下面代码,将Node 改造成可迭代类;完善下面代码,使其支持上下文管理协议;实现一个单例模式;优化下面程序;请写一个函数,统计两个字典中每个 key 的加和值。本作者的版权所有,良心编写解答。不准私自转售。

16,2024年Python大厂面试分享

🍅 硬核资料:关注即可领取PPT模板、简历模板、行业经典书籍PDF。🍅 技术互助:技术群大佬指点迷津,你的问题可能不是问题,求资源在群里喊一声。🍅 面试题库:由技术群里的小伙伴们共同投稿,热乎的大厂面试真题,持续更新中。🍅 知识体系:含编程语言、算法、大数据生态圈组件(Mysql、Hive、Spark、Flink)、数据仓库、Python、前端等等。简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。**

qd520_1314的博客 854

极具参考价值的Python面试题!从创业公司到一线大厂的所有面经汇总

文章目录我为何写这篇文章这些问题都来自哪1. 笔试1.1 简答题1.2 基础题1.3 算法题2. 面试技巧(必看)2.1 网络相关(小问题大奥妙)2.2 数据库(经典高频)2.3 反爬虫(高能硬核)2.4 爬虫相关(爬虫必会)3. 项目问题(高能场景复现)4. Freestyle题5. 场景实战题6. 致谢 各位读者朋友们大家好!我是爬虫领域的职业段子手。这篇文章今天在优快云首发,后续我会持续维护更新。希望能帮助每一位读者减少掉坑的机率,也祝愿每位读者都能拿到心仪的offer!由于时间原因还有很多实战资源题目及问题未能写完,后续会陆续更新上来另外,大家有任何在面试中遇到的有趣的问题及疑问都可

凭借这份python面试宝典,我成功拿到了字节跳动、腾讯、阿里巴巴、美团、小米等六家大厂offer_python测试能面试什么公司

(二) 文件操作(三) 模块与包(四) 数据类型(五)企业面试题(一) 元类(二)内存管理与垃圾回收机制(三)函数自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。深知大多数软件测试工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!因此收集整理了一份《2024年软件测试全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道

2401_84264662的博客 1015

Dell T7910工作站LSISAS3008IR RAID配置全流程:从零到实战避坑指南

本文提供了Dell Precision T7910工作站集成LSISAS3008IR RAID控制器的完整配置与避坑指南。详细拆解了从固件版本确认、安全更新到创建RAID 0阵列的全流程,并重点预警了固件与UEFI安全启动冲突等常见陷阱,帮助用户高效、稳定地部署存储系统。

qq_27496129的博客 1075

雷达截面积建模仿真(RCS)

在目标侧,其形状、材料、尺寸(相对于雷达波长)和相对于雷达观察方向的方向等特征都会影响雷达看到的RCS。严格的数学处理超出了讨论的范围,但入射波和目标之间的相互作用可以定性描述。对于给定的散射方向,可以积分求和物体表面电流的振幅相位,当电流同相时,会出现较大的回波幅度。随着目标方向和雷达视角随时间变化,电流振幅和相位会发生变化,形成看似随机的峰值和零点的散射模式,出现“相长”和“相消”干涉。除了雷达到目标的距离外,雷达截面(RCS)是RRE(雷达距离方程)中唯一与目标相关的参数,因此不在雷达设计者的。

qq_30796447的博客 3140

学好Python开发你一定会用到这30框架种,2024年最新Python大厂面试题来袭

14、fabric是基于Python实现的SSH命令行工具,简化了SSH的应用程序部署及系统管理任务,它提供了系统基础的操作组件,可以实现本地或远程shell命令,包括命令执行,文件上传,下载及完整执行日志输出等功能。Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。能够实现获取系统运行的进程和系统利用率(内存,CPU,磁盘,网络等),主要用于系统监控,分析和系统资源及进程的管理。

m0_60607371的博客 954

使用MID360在室内快速定位

在预构建的点云地图中实现实时3D全球定位。通过融合FAST-LIO的低频全局定位(约0.5~0.2Hz)和高频里程计,整个系统的计算效率很高。消除里程计的累计误差初始定位可以通过RVIZ的粗略手动估计或来自另一个传感器/算法的姿势来提供。

CTwinkle的博客 1164

Python面试常见问题

爬虫面试常见问题 一.项目问题: 你写爬虫的时候都遇到过什么反爬虫措施,你是怎样解决的 用的什么框架。为什么选择这个框架 二.框架问题: scrapy的基本结构(五个部分都是什么,请求发出去的整个流程) scrapy的去重原理(指纹去重到底是什么原理) scrapy中间件有几种类,你用过哪些中间件 scrapy中间件在哪里起的作业(面向切片编程) ...

weixin_41334453的博客 682

医疗大模型实战——从零构建MedicalGPT全流程解析

本文详细解析了从零构建医疗大模型MedicalGPT的全流程实战。基于Qwen-7B模型与约195万条中文医疗数据,完整复现了增量预训练、监督微调与偏好对齐三大核心环节,并分享了如何在有限硬件资源下实现高效训练与部署,为开发者提供了可复现的医疗AI项目实战指南。

weixin_29193259的博客 556

音乐频谱灯的硬件艺术:从STM32到SK9822LED的工程美学

本文探讨了基于STM32微控制器和SK9822 LED的音乐频谱灯硬件设计与实现。通过ADC采集音频信号,利用FFT算法进行频谱分析,并驱动LED阵列呈现动态视觉效果,展现了硬件工程与艺术美学的完美融合。

Pepper的专栏 218

干货 | Python程序员面试必备的59个常用问题答案及解析 !

Python是一种编程语言,它有对象、模块、线程、异常处理和自动内存管理。可以加入与其他语言的对比。下面是回答这一问题的几个关键点:Python是一种解释型语言,python代码在运行之前不需要编译。Python是动态类型语言,在声明变量时,不需要说明变量的类型。Python适合面向对象的编程,因为它支持通过组合与继承的方式定义类。在Python语言中,函数是第一类对象。Python代码编写快,但是运行速度比编译语言通常要慢。

m0_59236602的博客 5244

全新RT-DETR 有效涨点改进目录 | 包含各种卷积、主干改进、各种注意力机制、Neck特征融合改进、损失函数、AIFI创新改进、独家创新、小目标检测、特殊场景检测等最全大论文及小论文必备创新改进点

《全新最全RT-DETR涨点改进专栏》提供500+种创新改进方案,涵盖卷积、注意力机制、主干网络等模块优化,适用于PCB检测、工业缺陷检测等场景。专栏包含顶会论文改进点、数据集增强方法、热力图可视化等实用功能,帮助科研人员快速提升模型性能。提供完整环境配置指南(Python3.10+Pytorch2.5.1)和训练教程,支持不同版本RT-DETR模型。定期更新涨点策略,配套QQ答疑群免费指导,适合从入门到发论文全流程需求,特别推荐给目标检测领域的研究生和工程师。

Ai缝合怪、助力小伙伴高效发论文 3427

Python面试题大全(一),阿里腾讯PDD等大厂Python面试真题

Python崛起并且风靡,因为优点多、应用领域广、被大牛们认可。学习 Python 门槛很低,但它的晋级路线很多,通过它你能进入机器学习、数据挖掘、大数据,CS等更加高级的领域。Python可以做网络应用,可以做科学计算,数据分析,可以做网络爬虫,可以做机器学习、自然语言处理、可以写游戏、可以做桌面应用…Python可以做的很多,你需要学好基础,再选择明确的方向。这里给大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!

m0_55030688的博客 1335

基于ESP32的室内空气质量检测系统开发

随着环境污染问题的日益严重,室内空气质量的监测变得越来越重要。室内空气质量的好坏直接影响到人们的健康,尤其是对于在封闭空间长时间待着的人群。为此,基于ESP32的室内空气质量检测系统应运而生。ESP32作为一款集成了Wi-Fi和蓝牙的高性能微控制器,为嵌入式开发提供了良好的平台,适用于构建各种智能硬件设备。本博客将详细介绍如何基于ESP32开发一个室内空气质量检测系统。系统可以实时监测空气中的温度、湿度、二氧化碳浓度、甲醛浓度等指标,并通过Wi-Fi将数据传输到云端或移动设备,方便用户随时查看空气质量情况。

2201_76125393的博客 832

嵌入式RTOS实战:uC/OS-III最新版移植指南(附项目源码)

本文提供uC/OS-III实时操作系统的完整移植指南,涵盖源码配置、工程搭建到任务调度的全流程。针对移植中的常见编译错误,给出关键修改方案(如中断重定义、配置使能等),附已验证的工程源码,通过LED任务实验验证稳定性,帮助开发者高效完成移植。适合嵌入式工程师及RTOS学习者参考。

Bit_Dong的博客 2475

【赶快收藏】15道Python常见面试题及答案!

类型转换是指将一种数据类型转换为另一种数据类型。int()  - 将任何数据类型转换为整数类型float()  - 将任何数据类型转换为float类型ord()  - 将字符转换为整数hex() - 将整数转换为十六进制oct()  - 将整数转换为八进制tuple() - 此函数用于转换为元组set() - 此函数在转换为set后返回类型list() - 此函数用于将任何数据类型转换为列表类型dict() - 此函数用于将顺序元组(键,值)转换为字典。

yy1715713348的博客 3093

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

极具参考价值的 Python 面试题!从创业公司到一线大厂的真实面经汇总(持续更新)

在当今竞争激烈的求职市场中,Python 技能成为众多岗位的热门需求。无论是初出茅庐想进入创业公司积累经验,还是渴望跻身一线大厂开启辉煌职业生涯,掌握扎实的 Python 知识并熟悉面试套路至关重要。以下便是精心整理的涵盖各类公司的真实 Python 面试题汇总。

数据精灵喵 1091

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

BAT大厂Python面试题精选,看完后离拿到offer只有一步之遥(含答案)

Python是目前编程领域最受欢迎的语言。在本文中,我将总结华为、阿里巴巴等互联网公司Python面试中最常见的30个问题。每道题都提供参考答案,希望能够帮助你在求职面试中脱颖而出,找到一份高薪工作。这些面试题涉及Python基础知识、Python编程、数据分析以及Python函数库等多个方面。Q1、Python中的列表和元组有什么区别?Q2、Python的主要功能是什么?Q3、Python是通用编程语言吗?Python能够编写脚本,但从一般意义上讲,它被认为是一种通用编程语言。

xx16755498979的博客 521

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

300道Python大厂面试题(附新手入门学习资料)

300道Python大厂面试题(附新手入门学习资料)

隔壁王叔的博客 529

你可能不知道的Python面试秘籍 干货满满(附带参考答案)上篇

Q1、Python中的列表和元组有什么区别? 你可能不知道的Python面试秘籍 干货满满(附带参考答案)上篇 Q2、Python的主要功能是什么? Python是一种解释型语言。与C语言等语言不同,Python不需要在运行之前进行编译。Python是动态语言,当您声明变量或类似变量时,您不需要声明变量的类型。Python适合面向对象的编程,因为它允许类的定义以及组合和继承。Python没有访问说...

weixin_42625143的博客 515

100个Python练手小程序

1、题目:企业发放的奖金根据利润提成。利润(I)低于或等于10万元时,奖金可提10%;利润高    于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可可提    成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于    40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于    100万...

weixin_36670557的博客 1578

110道python面试题,你会几个?

最近公众号新来了不少朋友,这几天不少读者朋友后台留言问我有没有python面试题,今天统一给大家分享一遍,希望能帮助准备找工作和仍在找工作的同学,尽快找到工作,该文110道面试题大部分题目属于巩固基本python知识点的题目,希望对基本知识不熟悉的同学,能认真做一遍,肯定会有不少收获。 内容过多,建议转发收藏~ 1、一行代码实现1--100之和 利用s...

weixin_33722405的博客 1367

10个大厂面试Python必问题目,总于有人解答啦!

聚焦国内外,各个企业都在广泛应用 Python。国外例如谷歌、NASA、YouTube、Facebook、工业光魔和红帽等;国内大厂有阿里、腾讯、豆瓣、搜狐、新浪、网易、百度、金山、盛大...

cainiao_python的博客 3750

python中的表达式

python中的表达式 表达式如同数学中的的函数关系式一样,简单的书写的同时,又将多个语句的意义表达的十分明确,简而言之,就是省代码。但一定要清楚个运算符的关系。 首先我们了解下运算符 运算符 描述 总的来说: 先乘除后加减 幂运算优先级最高 三元运算符优先级最低 元数越少,优先级越高 幂运算:一元运算符 优先级从高到低排列: 幂运算 正负号 算数运算符(— = * /) 比较运算符(< > <= >=) 逻辑运算符(not and or) ...

qq_45796395的博客 3012

你都有哪些面试时被虐的经历?

挖出这个三年前的问题,就为吐槽今天字节跳动的面试。人们都说,这个世界上有两种人注定单身,一种是太优秀的,另一种是太平凡的。我一听, 呀?那我这岂不是就不优秀了吗,于是毅然...

java面试笔试 1万+
上一篇: 我用 Python 自制成语接龙小游戏,刺激!
下一篇: 微软自家的Linux发行版开源了!
菜鸟学Python
博客等级 码龄9年 8088粉丝 571原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值