Python后端面试题笔记

记录最近一次参加笔试的题目。
虽然很糟糕,但还是记录一下,积累经验吧。

由于笔试不能用任何电子设备以及不能切屏等等,只能凭借个人记忆来记录该面试题。

1. 排序算法的应用

题目:小明给幼儿园里的十名小朋友分发糖果,一共有100颗糖果,对所有小朋友所得的糖果进行排序算法,我们给定一个k值,假如k=1,则得到分得糖果最多的一名小朋友所拥有糖果的个数。假如k=3,则得到分得糖果数为第三的小朋友所拥有糖果的个数,小朋友分得糖果的个数可以相同。设计一个排序算法,不能用排序算法的内置函数,输入长度为10的数组,以及k值,求k值所对应的output值。
(如果10名小朋友得到的个数都相同,这种情况不做考虑)
例如:

  • (20,10,20,5,15,18,4,2,2,4)
    k = 2,output = 18

  • (30,10,10,15,5,4,4,2,7,13)
    k = 4, output = 10

解析过程:

  1. 首先我们必须运用到排序算法函数
  2. 在输入的长度为10的数组中,可能存在重复的值,则我们需要进行去重处理

代码过程:

def bubble_sort(arry):
    n = len(arry)                 
    for i in range(n):
        for j in range(1,n-i):
            if  arry[j-1] < arry[j] :       
                arry[j-1],arry[j] = arry[j],arry[j-1]     
    return arry
    

if __name__=='__main__':
    arry = [5,4,7,9,2,1,6,7]
    arry = bubble_sort(arry)   
    k = int(input())
    output = list(set(arry))
    all = len(output)
    if k<=all:
        print(output[all-k])
    else:
        print("k值错误!")

记录一次新的面试经历,二面凉了,Python后端开发岗位。继续加油吧!!!

2. Flask中的 if__name__=="__ main__"作用

  • 当这个脚本文件执行时,就会执行if __ name __== " __ main __"这个语句下面的内容,但当这个脚本文件被当作模块引入到其他文件中时这个下面的语句就不会执行。

  • 在flask中还有另外一个作用

if __name__=="__main__":
    app.run()

当运行app.run()时会执行flask自带的服务器(效率很低),在生产环境中一般使用nginx+uwsgi作为服务器( ngnix 作为前置服务器接受浏览器端请求),项目部署上线后,会由uwsgi加载这个文件,如果没有if __ name __ =="__ main __"就会同时开启2个服务器,产生矛盾。

还问到了是否会nginx+uwsgi部署问题,以及是否学过Mongodb,爬虫过程中是否遇到过ajax请求。

你可能感兴趣的:(学习笔记)