1. 程式人生 > >面試題(4)

面試題(4)

1、一行生成 9 * 9乘法表

'\n'.join([ ' '.join( [ '{}*{} = {}'.format(x,y,x*y) for y in range(1,x+1)] ) for x in range(1,10)]) 

2、關於 python 程式的執行效能方面,有什麼手段能提升效能?

1、使用多程序,充分利用機器的多核效能
2、對於效能影響較大的部分程式碼,可以使用CC++編寫
3、對於IO阻塞造成的效能影響,可以使用IO多路複用來解決
4、儘量使用python的內建函式
5、儘量使用區域性變數

3、你對Django的csrf的理解?

* 什麼是 CSRF 
    CSRF, Cross Site Request Forgery, 跨站點偽造請求。舉例來講,某個惡意的網站上有一個指向你的網站的連結,如果某個使用者已經登入到你的網站上了,那麼當這個使用者點選這個惡意網站上的那個連結時,就會向你的網站發來一個請求,你的網站會以為這個請求是使用者自己發來的,其實呢,這個請求是那個惡意網站偽造的。

*
Django 提供的 CSRF 防護機制 Django 第一次響應來自某個客戶端的請求時,會在伺服器端隨機生成一個 token,把這個 token 放在 cookie 裡。然後每次 POST 請求都會帶上這個token,這樣就能避免被 CSRF 攻擊。 在返回的 HTTP 響應的 cookie 裡,Django 會為你新增一個 csrftoken 欄位,其值為一個自動生成的 token,在所有的 POST 表單時,必須包含一個 csrfmiddlewaretoken 欄位 (只需要在模板里加一個 tag, Django 就會自動幫你生成,見下面)在處理 POST 請求之前,Django 會驗證這個請求的 cookie 裡的csrftoken 欄位的值和提交的表單裡的 csrfmiddlewaretoken 欄位的值是否一樣。如果一樣,則表明這是一個合法的請求,否則,這個請求可能是來自於別人的 csrf 攻擊,返回 403
Forbidden.在所有 ajax POST 請求裡,新增一個 X-CSRFTOKEN header,其值為 cookie 裡的 csrftoken 的值 * Django 裡如何使用 CSRF 防護 首先,最基本的原則是:GET 請求不要用,有副作用。也就是說任何處理 GET 請求的程式碼對資源的訪問都一定要是“只讀“的。 要啟用 django.middleware.csrf.CsrfViewMiddleware 這個中介軟體 再次,在所有的 POST 表單元素時,需要加上一個 {% csrf_token %} tag 在渲染模組時,使用 RequestContext.
RequestContext 會處理 csrf_token 這個 tag, 從而自動為表單新增一個名為 csrfmiddlewaretoken 的 input

4、 post、get有什麼區別?

1. 根據HTTP規範,GET一般用於獲取/查詢資源資訊,應該是安全的和冪等。而POST一般用於更新資源資訊
2. get是在url中傳遞資料,資料放在請求頭中。 post是在請求體中傳遞資料
3. get傳送的資料量較小,只能在請求頭上傳送資料。post傳送的資料量較大,一般被預設為不受限制。
5. get安全性非常低,post安全性較高。但是執行效率卻比Post方法好。
建議:
1get方式的安全性較Post方式要差些,包含機密資訊的話,建議用Post資料提交方式;
2、在做資料查詢時,建議用Get方式;而在做資料新增、修改或刪除時,建議用Post方式;

相關推薦

試題4

1、一行生成 9 * 9乘法表 '\n'.join([ ' '.join( [ '{}*{} = {}'.format(x,y,x*y) for y in range(1,x+1)] ) for x in range(1,10)]) 2、關於 pyth

Google試題java—有四個執行緒1、2、3、4。執行緒1的功能就是輸出1,執行緒2的功能就是輸出2,以此類推.........現在有四個檔案ABCD

轉自:http://blog.csdn.net/b275518834/article/details/8750142 import java.util.ArrayList; import java.util.HashMap; import java.util.List;

python試題

以及 args 空格 代碼實現 spa adding 技術分享 變量作用域 區別 Python中基本數據結構的操作 元組 列表 字典 集合 定義

每天五個java相關試題8--spring篇

ioc 簡單 組件 print 提交數據 常常 spring容器 效果 用戶 首先呢,假設有從事前端開發的大神或者準備從事前端開發的小夥伴無意看到我這篇博客看到這段文字歡迎加我的QQ:【 845415745 】。即將走入社會的菜鳥大學生有關於前端開發的職

java試題

imap 產生 java面試 大型 過程 ets ibm apache服務 廣泛 11、說出Servlet的生命周期,並說出Servlet和CGI的區別? Servlet被服務器實例化後,容器運行其init方法,請求到達時運行其service方法,service方法自動派遣

Java電商項目試題

Java什麽是SolrCloudSolrCloud是Solr提供的分布式搜索方案,當你需要大規模,容錯,分布式索引和檢索能力時使用SolrCloud。當一個系統的索引數據量少的時候是不需要使用SolrCloud的,當索引量很大,搜索請求並發很高,這時需要使用SolrCloud來滿足這些需求。SolrCloud

Java電商項目試題

javadubbo服務開發流程,運行流程?zookeeper註冊中心的作用?使用流程:第一步:要在系統中使用dubbo應該先搭建一個註冊中心,一般推薦使用zookeeper。第二步:有了註冊中心然後是發布服務,發布服務需要使用spring容器和dubbo標簽來發布服務。並且發布服務時需要指定註冊中心的位置。第

Java電商項目試題

Java插入商品的話,要求級聯插入幾張表,你們當時是怎麽實現的?通過Redis生成商品編號(ID)保存商品表再保存Sku表(此表中外鍵,是商品表的ID)在青島做了兩年開發,大大小小參與過三個項目的開發,一個是某公司內部的人員管理系統,一個是物流項目,最近做的是一個電商項目。在整個項目中,我們采用的是nginx

Java試題

Java 基礎 程序員 面試 (1)面試題:數組中有沒有length(),字符串中有沒有length(),集合中有沒有length()? 數組中沒有length()方法,只有length屬性 字符串中有length()

Hadoop大數據試題

大數據 面試題 Hadoop 以下資料來源於互聯網,很多都是面試者們去面試的時候遇到的問題,我對其中有的問題做了稍許的修改了回答了部分空白的問題,其中裏面有些考題出的的確不是很好,但是也不乏有很好的題目,這些都是基於真實的面試來的,希望對即將去面試或向繼續學習hadoop,大數據等的朋友有幫助!

Python----試題

shutdown 兩種 模擬 lxml list move 道德 shu 通信 1、 post、get有什麽區別? 1. 根據HTTP規範,GET一般用於獲取/查詢資源信息,應該是安全的和冪等。而POST一般用於更新資源信息 2. get是在url中傳遞數據,數據放在

python3-開發試題python6.23基礎篇2

漢字 2個 特殊 問題 ase 第一個 else () 判斷 1、請至少列舉5個 PEP8 規範(越多越好)。 一、代碼編排 1、縮進。4個空格的縮進,不使用Tap,更不能混合使用Tap和空格 2、每行最大長度79,換行可以使用反斜杠,最好使用圓括號。換行點要在操作符

Java筆試試題

共享 ble ati uil sys res 表達式 split 底層 每日一句:想,都是問題;做,才是答案。 構造器Constructor是否可被Override?構造器Constructor不能被繼承,因此不能重寫Override,但是可以被重載Overload。

Java筆試試題

人員 syn 獲得 直接 作用 sleep 超過 分配 bcd 每日一句:我既不悲觀,也不樂觀,只是每天早上睜開眼睛迎接新的一天,一個人努力過下去 1. 下面這條語句一共創建了多少個對象:String s = "a"+"b"+&quo

java筆試試題

oot 控件庫 rect 地址 edi javascrip apach getc mat 每日一句: 你未必出類拔萃,但一定與眾不同。 1. 說說你使用過哪些ajax技術和框架,說它們的區別AJAX(Asynchronous JavaScript And XML,異步Jav

3.Java基礎試題

它的 面試 字節 java基礎面試題 參數 字符類型 其中 語句 con 一、在Java中,是值傳遞還是引用傳遞? 解析:在 Java 語言中,把對象作為參數傳遞給方法時,方法接收到的是對象內存引用的地址,而不是對象本身,這個引用地址是對象在內存中的位置,它不可能像對象內容

Python試題【轉】

www. toolbar code 很大的 fin alt log 表達 字符 轉載出處http://www.cnblogs.com/goodhacker/p/3387027.html 1.python中類方法、類實例方法、靜態方法有何區別? 區別: 類方法和靜態方法都

阿裏P8架構師總結Java並發試題精選

htable 檢測 之前 方式 可用 架構師 str shm 為什麽 一、什麽是線程? 線程是操作系統能夠進行運算調度的最小單位,它被包含在進程之中,是進程中的實際運作單位。程序員可以通過它進行多處理器編程,你可以使用多線程對運算密集型任務提速。比如,如果一個線程完成一個

Java試題線程及集合補充

每一個 場景 nds 試題 個數 安全 應用程序 -- 服務器 1,一個進程就是一個應用程序。一個線程就是一個進程中運行的最小單元。 一個進程可以包括多線程。 餐館(進程)。 主線程。 服務員(線程) 服務員(線程) 服務員(線程) 服務員(線程) 加塞,讓步,守護,

android 試題

程序 一個 如果 intent傳值 存儲 新的 有一個 數據類型 andro 1、Android中真實寬高,getWidth和getMeasuredWidth的區別:哪個計算的是真實的寬? getWidth():得到的是View在父Layout中布局好後的寬度值,如果沒有父