几道python面试题
前几天去笔试,这里记录一下遇到的几个编程题,比较基础。
生成斐波那契数列并取前10项
def func(m):
n,a,b = 0,1,1
while n < m:
yield a
a,b = b,a+b
n += 1
for one in func(10):
print one
这个可以说是一道常见的简单算法题了,关键点就是理解a,b=b,a+b
以及yield的作用。
前几天去笔试,这里记录一下遇到的几个编程题,比较基础。
def func(m):
n,a,b = 0,1,1
while n < m:
yield a
a,b = b,a+b
n += 1
for one in func(10):
print one
这个可以说是一道常见的简单算法题了,关键点就是理解a,b=b,a+b
以及yield的作用。
电话面试被问到了几个python常见操作的时间复杂度问题,这几年一直关注在业务逻辑的实现上这类基础反而记得不太清楚了,这里有必要重新复习一下,完整版:
Numpy(发音"南派"而不是"努屁”)是一款用来进行科学计算的python库,可以方便快速的计算平均值、最大值、最小值、方差、标准差、向量运行等。相关库还有
Pandas
,Scypi
等。
关于JWT(Json Web Token)是一种较新的用户认证方式,官网在这里,网上有篇中文解释写的很好,点此跳转。
用户认证(Authentication)和用户授权(Authorization)是两个不同的概念,认证解决的是“有没有”的问题,而授权解决的是“能不能”的问题。
一般用到JWT认证的情况大多都是配合REST框架使用,比如我大Django的Django-REST-framework框架,就已经有了现成的三方库django-rest-framework-jwt。不过这个库默认只支持基于Header
传递信息,所以改成基于Cookie方式还需要我们来手动处理一下。
最近一直在思考如何更好的组织Django中的静态资源,比如JS、CSS一类,如何结合前端构建工具写出更好的代码以及结构呢?
首先需要解决的一个问题就是某些时候需要把JS代码写在模板里来获取后台传递过来的变量,比如:
<div>
<h1>Test</h1>
<div id="my-test" ></div>
</div>
<script>
$(function(){
$('#my-test').html("{{ some_var_from_view }}")
});
</script>
这么写代码的话,别扭不说,前端的那些构建工具比如webpack,gulp的使用范围也将大大降低。
首先说结论,想完全剥离JS和模板而又需要使用模板渲染的数据,我是没想到什么好办法。如果读者有好办法希望赐教。 既然不能完全剥离,那么就进最大的努力分离JS所需的数据和代码吧。