1、在電商的秒殺商品場景中,怎樣考慮并發(1000并發)下的性能和庫存量的準確性?
2、介紹下常見的SSO(單點登錄)方案的原理,
有個獨立的認證中心,只有認證中心能接收用戶的用戶名密碼等安全資訊,其他系統不提供登錄入口,只接受認證中心的間接授權,間接授權通過令牌實作,認證中心驗證用戶的用戶名和密碼沒問題,則創建授權令牌,并發放到各個子系統,子系統拿到了令牌意味著得到了授權,
3、有一序列1,1,2,3,5,8,13,21......請識別這個序列的規律,并用遞回寫一個求第n位的值的函式,
4、簡述Redis資料持久化方式中aof和rdb模式的區別及各自優缺點,
5、如下圖:

6、比較兩個字串是否有相同字符,要求時間復雜度最低,
7、陣列里面的子陣列含有正數和負數,求子陣列和的最大值,要求時間復雜度最低,
8、請寫出HTTP頭,并符合以下要求:
1)這是一個post請求
2)目標:http://www.example.com:8080/test
3)POST變數:
username: test
pwd: test2
intro: Hello world!
4)包含以下COOKIE資訊:cur_query: you&me
9、我們碰到了大麻煩,一個新來的傳教士惹惱了上帝,上帝很憤怒,要求我們把圣經(bbe.txt)背熟,直至他說哪個單詞,我們就要飛快的回答出這個單詞在第幾行第幾個單詞位置,聽說你是個優秀的程式員,那么髟助我們完成這個不可能的任務吧,
要求如下:
1)/myworks/example/bbe.txt,98版本英文圣經一本
2)輸入部分要求如下:php ./example.php [單詞]
3)輸出部分如下:[單詞] 1,2 2,4 5,6 表示:此單詞在1行2列(第二個單詞),2行4列...
說明:
1)此文本4MB之巨...
2)單詞的含義:由英文字母(大小寫),數字(0-9)組成的串
3)提供給你的機器OS為ubuntu 9.10,記憶體只有1G,而且,很不幸的,其中700M用來做了別的
4)上機考試不允許上網,但我裝了man檔案以及讀取CHM以及PDF的閱讀器,在電腦的桌面的CHM檔案夾中,有相應的PHP參考手冊
5)演算法復雜度要求不能大于O(N^2)(就是N的平方)
10、PHP的垃圾收集機制是怎樣的? 請從原始碼入手,
11、const和define的區別,
12、https的作業原理,
網路編程:
1、UDP呼叫connect有什么作用?connect會阻塞,怎么解決?(設定非阻塞,回傳之后用select檢測狀態)
2、socket服務端的實作,什么情況下可讀?
3、select和epoll的區別,epoll有哪些觸發模式,有什么區別?如果select回傳可讀,結果只讀到0位元組,是什么情況?
4、大規模連接上來,并發模型怎么設計?
5、什么是滑動視窗?
6、TCP協議和UDP協議有什么區別,請畫出TCP三次握手的示意圖,TCP連接中,時序圖,狀態圖?TCP頭多少位元組,有哪些欄位?
7、多執行緒和多行程的區別,
cpu調度,背景關系切換,資料共享,多核cpu利用率,資源占用
8、哪些東西是一個執行緒私有的?(暫存器)
9、keepalive是什么?如何使用?
10、命令:netstat,tcpdump,ipcs,ipcrm
系統設計
1、一個每秒百萬級訪問量的互聯網服務器,每個訪問都有資料計算和I/O操作,如果讓你設計,你怎么設計?
2、最近總有人騷擾我們的投票模塊,需要你來設計一個投票限制的東東,要求如下:
1)要求每個QQ號碼(假設此QQ號碼在UNIT32內可以表示)10分鐘這內只能投5票,
2)我們的用戶很踴躍,平均每天要有2000萬人左右通過此程式投票,
說明:
1)無需寫代碼,只需要圖跟文字即可,
2)對于關鍵邏輯,請用圖加代碼表示出來,這也是對你文字表達能力的一個考驗,
3)對你能想到的所有的邊界條件列出來,這是對你邏輯思維全面與敏捷性的考驗,
4)存盤部分,盡你所能吧,如果,你需要一個自己設計的存盤層,那么把這個存盤層的實作,用文字+圖片方式描述清楚,要是設計合理,你會獲得華麗的獎分,
3、微信朋友圈如何設計?
1)大資料:微信用戶有10億,如何處理-bitmap,
2) 資料庫設計,怎么設計才能達到 你發朋友圈別人能看見,屏蔽某人就看不見了,
MySQL
1、資料庫如何設計?如何去優化資料庫?
2、如何去建立索引?索引的原理是什么?
3、平衡樹的原理是什么?為什么這樣就是優化的?
4、索引的好處和壞處在哪里,
5、MySQL的InnoDB和MyISAM引擎在使用select count(*)陳述句時,哪個效率更高,為什么?
6、InnoDB支持行鎖,那什么條件下會產生行鎖,什么情況下會變成表鎖?
7、表Thread(tid,uid,content,createtime),表User(uid,username,password,createtime)
100萬用戶,500萬帖子,一條SQL陳述句,查出發帖數前10的用戶(顯示其姓名)
基礎知識
input中readonly和disable的區別:
1、 disable:不可獲取焦點,且不可編輯; readonly:可獲取焦點,但不可編輯,
2、readonly只針對input(text/password)和textarea有效,而disable對于所有的表單元素都有效,包括select,radio,checkbox,button等,
3、表單元素在使用了disable后,但我們將表單以POST或GET的方式提交后,這個元素的值不會被傳遞出去,而readonly會將該值傳遞出去
get和post的區別:
GET和POST本質上就是TCP鏈接,并無差別,但是由于HTTP的規定和瀏覽器/服務器的限制,導致他們在應用程序中體現出一些不同,
1、GET產生一個TCP資料包;POST產生兩個TCP資料包:
對于GET方式的請求,瀏覽器會把http header和data一并發送出去,服務器回應200(回傳資料);
對于POST,瀏覽器先發送header,服務器回應100 continue,瀏覽器再發送data,服務器回應200 ok(回傳資料),
2、GET在瀏覽器回退時是無害的,而POST會再次提交請求,
3、GET產生的URL地址可以被Bookmark,而POST不可以,
4、GET請求會被瀏覽器主動cache,而POST不會,除非手動設定,
5、GET請求只能進行url編碼,而POST支持多種編碼方式,
6、GET請求引數會被完整保留在瀏覽器歷史記錄里,而POST中的引數不會被保留,
7、對引數的資料型別,GET只接受ASCII字符,而POST沒有限制,
8、GET引數通過URL傳遞,不安全,所以不能用來傳遞敏感資訊,且長度限制2KB;POST請求引數放在Request body中,較安全,無長度限制(可配置),
echo與print,var_dump()和print_r()的區別
1.echo 和 print 的區別
共同點:echo 和 print 都不是嚴格意義上的函式,都是語言結構;都只能輸出字串,整型跟int型浮點型資料,不能列印復合型和資源型資料;
不同點:echo 可以連續輸出多個變數,而print只能一次輸出一個變數,print列印的值能直接復制給一個變數,如 $a = print “123”;
而echo 不可以,它沒有像函式的行為,所以不能用于函式的背景關系,在使用時,echo() 函式比 print()速度稍快,
2.var_dump()和print_r()的區別
共同點:兩者都可以列印陣列,物件之類的復合型變數,
不同點:print_r()在列印陣列時,會將把陣列的指標移到最后邊,使用 reset() 可讓指標回到開始處, 而var_dump()不但能列印復合型別的資料,還能列印資源型別的變數,且var_dump()輸出的資訊則比較詳細,一般除錯時用得多,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/181285.html
標籤:其他
上一篇:[wp] 攻防世界 ics-04
