python筆試題(三)

1.MySQL有哪些存儲引擎,優化MySQL數據庫的方法有哪些?
    MySQL支持的存儲引擎有MyISAM,InnoDB,Memory,CSV,Archive
    建立索引,使用複合索引,使用短索引,不在列上進行運算,不使用NOT IN操做,不在包含有NULL值得列上加索引
2.WEB開發中session與cookie的做用與區別?
    cookie經過在客戶端記錄用戶身份的信息,session經過在服務端記錄用戶身份信息
  cookie機制:理論上一個用戶的全部請求都應該屬於一個會話,因爲web程序應用是基於http協議傳輸信息的,
                可是,http協議是無狀態協議,一旦數據交換完畢,二者的鏈接馬上斷開,再次交換數據須要從新創建鏈接,這就意味着服務器沒法鏈接上跟蹤會話。要跟蹤該會話,就引入了一種機制Cookie
              服務器就給客戶端頒發一個通訊證,每次來訪問同一個網站時瀏覽器必需攜帶cookie,以便確認用戶身份。
  session機制:是服務器端記錄用戶狀態的一種機制,使用上比較簡單,可是增長了服務器內存的壓力。
      客戶端瀏覽器第一次訪問服務器的時候,服務器把客戶端的信息以某種形式保存下來,session對象也是在這個時候建立,
        全部該客戶端的狀態信息,都被保存在這裏。session至關於在程序在服務器上創建的客戶端檔案,客戶來訪時只要查詢這些檔案就能夠了。
3.WEB開發中有哪些技術手段防止SQL注入?
    使用預編譯綁定變量的SQL語句;
    加密處理用戶的關鍵信息;
    不隨意開啓生產環境中的Webserver的錯誤;
    使用正則表達式過濾傳入的參數;
    字符串過濾;
    檢查是否包含非法字符;
4.編寫快速排序或者冒泡排序
    def bubble_sort(lis):  
        for j in range(len(lis),-1,-1):  
            for i in range(0,len(lis)-1):  
                if lis[i] > lis[i+1]:  
                    lis[i],lis[i+1]=lis[i+1],lis[i]  
        print(lis)   
    lis=[20,49,50,0,8,65,56,89,77,46]  
    bubble_sort(a)      
5.請實現一個裝飾器,限制該函數被調用的頻率
    import time #5秒一次
    def wraper(func):
        def inner(*args,**kwargs):
            time.sleep(5)
            return func(*args,**kwargs)
        return inner
    @wraper
    def rando():
        print('被裝飾的函數')
    rando()
    rando()
6.請說一說lambda函數的做用,請用lambda和reduce實現1到100的累加
    Lambda函數又稱匿名函數,也就是沒有名字的函數,有些函數若是隻是臨時一用,並且業務邏輯也比較簡單,這時就能夠用用Lambda函數
    from _functools import reduce
    print(reduce(lambda x,y:x+y,range(1,101)))
7.請描述一下tuple,list,dict,set的特色
    tuple:不可對元素進行修改,但元素自己能夠變化,好比元素爲列表,值能夠重複,元素有序
    list:元素能夠修改,值可重複,相比dict具備佔用內存小的特色,經常使用於堆棧的處理
    dict:鍵不可變,值可變,鍵不能夠重複,值能夠重複,元素無需,符合用內存換速度思想,經常使用於查找
    set:元素不可重複,無序
8.就你熟悉的web框架,講一講如何維持用戶的登陸狀態的
    把用戶信息存放一session中,再給客戶端返回一個cookie;
    經過form表單;
    經過querystring
9.python函數中常常有*args,**kwargs,這兩個參數,它們是什麼意思,爲何要使用它們
    若是咱們不肯定要往函數中傳入多少個參數,或者咱們想往函數中以列表和元組的形式傳參數時,那就使要用*args;
    若是咱們不知道要往函數中傳入多少個關鍵詞參數,或者想傳入字典的值做爲關鍵詞參數時,那就要使用**kwargs。
10.python中變量做用域(變量查找順序)
    局部變量--->閉包做用域 ----> Global 全局---->(內置)變量
相關文章
相關標籤/搜索