python後端面試題

light_house發表於2018-09-02

數學&資料庫問答題(共4題,合計24分)

  1. 0-9999範圍內的數字,包涵6或8或9的數字總共有多少個?(要求:非程式設計題,需要使用數學方式解答,寫出解題思路或演算法)
    (6.0分)

2.舉兩個你知道的非關係型資料庫。若能說明使用場景上的差別更好。(6.0分)

3.設senguo資料庫有一張shop_order表,表中有三列欄位:id(int型,自增主鍵),shop_id(int型,訂單對應店鋪ID),num(int型,訂單號)。請寫一個SQL語句,查詢shop_id為192的店鋪下的訂單總數和最大的訂單號。(若不熟悉SQL語句,可以寫出其在python中ORM中的寫法)
(6.0分)
4. 如何分析SQL語句的執行計劃?怎眼檢視正在執行的SQL?
(6.0)

組合題(共2道大題,合計41.0分)
1.資料庫中表ta和表tb的資料分別如下所示:
表ta:

aid anum
1 a0111
2 a0222
3 a0333

表tb:

bid bnum
1 b01
3 b03
4 b04

請問下列三個查詢語句的返回分別是什麼?

1.1 select ta.aid, ta.anum, tb.bnum from ta left join tb on ta.aid=tb.bid
(4.0分)

1.2 select ta.aid, ta.num, tb.num from ta inner join tb on ta.aid=tb.bid;
(4.0分)

1.3 select ta.aid, ta.anum, tb.bnum from ta right join tb on ta.aid=tb.bid;
(4.0分)

2.森果商品設定與訂單應付款的計算規則說明如下:
A.商品可被設定為不參與其他優惠活動,即不參與會員折扣、滿減活動
B.會員價商品不參與其他優惠活動,即不參與會員折扣、滿減活動
C使用者積分可抵扣,積分抵扣規則為100積分可抵扣0.5元
D訂單計算規則為:
Step 1:購物車中的商品分別計算參與優惠部分的商品總價與不參與優惠的商品總價;
Step 2:參與優惠的商品總價可參與滿減活動
Step 3:上一步處理之後,參與優惠的商品總價可參與會員折扣
Step 4:所有商品總價,扣減掉積分可抵扣的部分得到訂單應支付金額
森果有一個商戶A,在後臺建立了一個商品fruit_a,定價為10元/KG。使用者購買3KG商品,問下列各獨立場景下,應付款幾何?[需要寫出結果與計算式,如下所示]
Eg.商品設定了階梯價,>=3KG,價格為8元/KG;應付款24=8*3元

2.1使用者有500積分,店鋪積分可抵扣,抵扣規則為100積分可抵扣0.5元;店鋪設定有滿減活動,滿20元減3元;商品設定階梯價,》=3KG,價格為8元/KG,則使用者應付款為____元。(5.0分)

2.2 使用者有500積分,店鋪積分可抵扣,抵扣規則為100積分可抵0.5元;商品設定會員價8元/KG,使用會員價必須使用餘額支付;店鋪設定有滿減活動,滿20元減3元;使用者若實用餘額支付應付款為____元。若使用線上支付,則應付款為____元;(8.0元)

2.3 使用者有500積分,店鋪積分不可抵扣,抵扣規則為100積分可抵0.5元;店鋪有開啟會員折扣,會員折扣為8.5折,使用會員折扣必須使用餘額支付;店鋪設定有滿減活動,滿20元減3元;使用者若使用餘額支付應付款為____元,若使用線上支付,則應付款為____元;(8.0分)

Python&演算法問答題(共6題,合計35.0分)
1.設list_a = [1, 2, 3, 4, 2, 3, 6, 8], 根據 list_a得到去除重複元素的列表list_b
(5.0分)

2.定義一個函式 foo,傳入的引數包含以下四種引數:可變引數、位置引數、預設引數、關鍵字引數

3.設有一個字典型別的資料dict_a,不確定其是否有名為“key_a”的鍵,要求返回一個值給變數value,如果dict_a存在這個鍵“key_a”,返回鍵“key_a”對應的值,否則返回1(要求:使用單句程式碼實現)
(5.0分)

4.設list_a = [(‘a’, 100, 20), (‘b’, 20)],請將其轉換成字典dict_a,鍵為list_a中每一個元組的第一個元素,值為list_a其餘元素組成的列表(要求:使用字典推導式)
(5.0分)

5.請寫出下面程式碼的輸出
For I in (‘1920’,):
Print(i)
(5.0分)

6.實現一個排序演算法(氣泡排序、快速排序等),對傳入的陣列中的數字進行排序,傳入陣列中僅包含int型資料。
輸入樣例:[2, 44, 7, 33, 4, 61, 234, 6, 8, 9]
輸出樣例:[2, 4, 6, 7, 8, 9, 33, 44, 61, 234]
(10.0分)

相關文章