面试题汇总(二)

1.姓名为array这个列表切片, 取出第2个到第6个这之间的这五个元素.

import  numpy as np

array = np.arange(10)

print(array[2: 6])

2.依次写出LINUX中命令: 杀掉8000端口, 启动nginx, 启动uwsgl, 设置整个dist目录权限为777,

查看9000端口目前是否被占用. 8000为端口号: kill lsof -i: 8000 | awk '{NR==2 ;print $2}' 查看特定端口号的进程: ps -aux | grep 80000 启动nginx: [root@ettest app]# /usr/sbin/nginx -c /etc/nginx/nginx.conf 启动uwsgl: uwsgi --ini uwsgin.ini 设置整个dist目录权限为777: chmod -R 777 /home/linux 查看9000端口目前是否被占用: netstat -anp |grep 9000

3.python里面try 和 except的作用.

作用: 程序运行的时候,出现异常,并不一定需要中止程序,因为可能这个异常,可能这种异常时可处理的,或者是能预期到的异常,这个时候,我们需要知道到底是哪种异常,然后做相对于的后续处理。 try: 可能出现异常的语句 except: 将出现异常的数据进行保存,以便后续问题解决 else: 如若运行的语句没问题,进行运行数据结果的保存,或后续操作

4.python是动态语言还是静态语言, 是强类型还是弱类型.

Python属于强类型的动态脚本语言 强类型:不予许不同类型相加 动态:不使用显示数据声明类型,且确定一个变量的类型是第一次给他赋值的时候 脚本语言:一般也是解释性语言,运行代码只需要一个解释器,不需要编译

5.列表推导式求列表所有偶数并构造新列表, a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

  a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]  

 res = [i  for  i  in  a  if  i%2 == 0]

 print(res)

6.遍历一个字典, print出["a":"1", "b": "2"]这个字典所有的键和值.

dict = {"a":"1", "b": "2"}

for d in dict:  

print "%s:%s" %(d, dict[d])  

7.写一段代码求出从1加到100的值, 越简单越好, 最好能一行代码解决.

sum(range(1, 100))

5050

8.写一段python代码去除某个列表里面的元素.

a = [1,23,34,23,34,45,32]

b = set(a)

print(b) # {32, 1, 34, 45, 23}

c= list(b)

print(c)   # [32, 1, 34, 45, 23]

 

9.简述newinit区别.

_init是初始化方法,创建对象后,就立刻被默认调用了,可接收参数 new至少要有一个参数cls,new__必须要有返回值

10.使用python编写一个装饰器,打印被装饰器的输入与输出

def decorate(fun):

'''
打印函数被调用的时间及调用次数
'''
count = 0
def wrapper(*args,**kwargs):
   nonlocal count
   start_time = time.time()
   data = fun(*args,**kwargs)
   stop_time = time.time()
   dt = stop_time - start_time
   count += 1
   print("被调用%d次,本次调用花费时间%f秒。"%(count,dt))
   return data
return wrapper
@decorate

def demo():
print("hello world!")
time.sleep(0.5)
if name == 'main':
   for i in range(3):    
        demo()

11.简述python线程,进程,协程,并描述使用场景.

1) 一个线程可以多个协程,一个进程也可以单独拥有多个协程,这样python中则能使用多核CPU。 2) 线程进程都是同步机制,而协程则是异步 3) 协程能保留上一次调用时的状态,每次过程重入时,就相当于进入上一次调用的状态

12.*args, **kwargs的作用是什么?如何使用?

可变参数和关键字参数.在函数中传参是时使用,可以有多个.

def ABC(*m,**ppp):
    pass
ABC('1','水电费',ppp='dfdsf')

13.用lambda函数写出x等于1就返回为true,x不等于1就返回为false.

fun = lambda x: x==1

print(fun(1))

 

14.什么是wsgi,uwsgi,uWSGI?

uWSGI是一个web服务器,它实现了WSGI协议、uwsgi协议、HTTP等协议; uwsgi协议,是一个uWSGI服务器自有的协议,它用于定义传输信息的类型,每一个uwsgi packet(数据信息包)前 4byte为传输信息类型描述,用于与nginx等代理服务器通信; 实现wsgi协议的模块,用于接收用户请求

15.django请求的生命周期?

Django的请求生命周期是指当用户在浏览器上输入url到用户看到网页的这个时间段内,Django后台所发生的事情

16.如何判断一个python对象的类型?

  type(name)

17.全局变量与局部变量的区别, 如何在function里面给一个全局变量赋值?

  def my_global():

     global x

     x=8;

 my_global()

 print(x)

 

18.解析HTML: lftx123, 将"http://www.51smart.com"和"lftx123"全部提取出来(使用库或正则均可)

  text = 'lftx123'

 regex = '(.*?)'

 a = re.findall(regex, text)

 

19.常见的http状态:404, 302, 301, 500, 403分别是什么意思.

404: 页面无法找到 302: 临时重定向 301: 永久重定向 500: 服务器内部错误 403: 服务器拒绝请求

20.写出如下list的交集与差集代码, b1=[1, 2, 3], b2 = [2, 3, 4]

  res = list(set(b1)^set(b2))

 res1 = lsit(set(b1).difference(set(a)))

 

21.D = [x * x for x in range(1, 10)], 请写出D的输出结果

[1, 4, 9, 16, 25, 36, 49, 64, 81]

22.有一个文本文件input.txt, 里面是每一行是逗号分隔整数二元组,形如:

1,3

4,2

2,7

请用python来排序input.txt中的内容,输出input.txt中.要求排序按元组的第二项从大到小排序.得到类似下述结果:

2,7

1,3

4,2

并说明自己写的这段程序的排序方式是否稳定,以及原因

import pandas as pd 

 df = pd.read_csv(“input.txt”,sep=’,’,header=None)

 df.sort=(columns=[1],ascending=[0])

 df.to_csv(‘input.txt’,sep=’,’,header=None)
                                                                                         

23.写一段程序,输入是一个的整数数组,如[1,2,3,7,4,0],要求输出相邻两个元素之和,r如[3,5,10,11,4].此外希望利用CPU的多个核来并行计算,应该怎么做? 请指出机器在运行您写的代码时,是用的多进程还是多线程,二者在性能上有什么区别? 如何发现和评估区别大小?

查不到

 

posted @ 2019-08-22 11:27  陈文鑫  阅读(182)  评论(0编辑  收藏  举报