浅谈面试阿里外包python开发工程师

本人也是抱着不成功则成仁的想法去的

先说一下肯定有干货

反正不管过不过 总的榨点他身上的东西 对吧! 抓到了总要一顿乱问

晚上7点半接到面试邀请电话

请先简单的自我介绍一下自己

吧啦吧啦说了有两三分钟 主要干什么的 毕业哪里的 为什么选python 以及除了python还会不会别的语言等等

然后直接进入正题

说说你知道的python变量作用域

LEGB 总体来说就是先当前外部函数 然后全局变量 然后内建

python2 用过没 xrange和range的区别是什么?

就拿最简单的例子来说 for i in range(5)

xrange的类型是列表 range的类型是int

那你说说python的 装饰器迭代器和生成器吧

装饰器的本质又是什么?

装饰器的本质就是函数 外层函数的返回值是内部函数的引用

再详细一些。

我曾看过flask 路由的源码 就是运用装饰器原理实现的

第一层是带参数就是url

第二层和第三层是装饰器

简单来说就是定义一个字典 以url为键以视图函数为值

但是用了falsk装饰器路由的同时再加上另一个装饰器会发生循环导入问题

这就要刨地层了 因为装饰器并不是简单的装饰 是把被装饰的函数的内存也更改了。

用大白话来说 就是被装饰器的函数的内存 放到了装饰器的内存里简单来说

就是成为了装饰器的一小部分

那解决方案呢?

一在外层函数上加上@functoolwraps(被装饰函数)

或者 在外层函数返回时把人家的内存地址给返回

为什么django没事呢?

因为django的路由是循环。 如果需要优化路由的话

最简单的方式就是把常访问的路由放在第一位

那你知道装饰器的args和kwars的解包解出来是什么

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值