面試題彙總(二)

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 9000html

3.python裏面try 和 except的做用.

做用: 程序運行的時候,出現異常,並不必定須要停止程序,由於可能這個異常,可能這種異常時可處理的,或者是能預期到的異常,這個時候,咱們須要知道究竟是哪一種異常,而後作相對於的後續處理。 try: 可能出現異常的語句 except: 將出現異常的數據進行保存,以便後續問題解決 else: 如若運行的語句沒問題,進行運行數據結果的保存,或後續操做python

4.python是動態語言仍是靜態語言, 是強類型仍是弱類型.

Python屬於強類型的動態腳本語言 強類型:不予許不一樣類型相加 動態:不使用顯示數據聲明類型,且肯定一個變量的類型是第一次給他賦值的時候 腳本語言:通常也是解釋性語言,運行代碼只須要一個解釋器,不須要編譯linux

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__必需要有返回值nginx

10.使用python編寫一個裝飾器,打印被裝飾器的輸入與輸出

def decorate(fun):web

'''
打印函數被調用的時間及調用次數
'''
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) 協程能保留上一次調用時的狀態,每次過程重入時,就至關於進入上一次調用的狀態django

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的多個核來並行計算,應該怎麼作? 請指出機器在運行您寫的代碼時,是用的多進程仍是多線程,兩者在性能上有什麼區別? 如何發現和評估區別大小?

查不到

相關文章
相關標籤/搜索