日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

一家互联网公司校园招聘的笔试题以及答题分析

發(fā)布時間:2023/12/19 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 一家互联网公司校园招聘的笔试题以及答题分析 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

思路題

  • 用戶在瀏覽器里訪問一個在線購物的web page, 在輸入框里根據(jù)關鍵字查詢自己感興趣的商品名稱,后臺數(shù)據(jù)庫會將搜索結(jié)果返回給前臺web page。
  • 用戶在搜索結(jié)果里選擇自己需要購買的商品,輸入購買數(shù)量,點擊“加入購物車”的按鈕。該商品成功被加入購物車??蛻艨梢岳^續(xù)搜索其他商品并進行類似操作。購物車內(nèi)加入的商品可以刪除。
  • 為了提高用戶體驗,客戶每次輸入一個字符時,后臺數(shù)據(jù)庫會接收到從前臺發(fā)來的請求,將符合條件的商品列表返回給前臺。用戶不需要將所有的字符輸入完畢后再手動點“搜索”按鈕。
  • 現(xiàn)在你負責前臺web page和后臺數(shù)據(jù)庫查詢響應的設計,請你盡可能多的列出在該場景的前后臺設計里,需要考慮到的邊界條件和錯誤處理。也就是說,請你盡可能多的列出理論上有可能會導致前后臺應用異?;蛘弑罎⒌奶厥馇闆r,并列出可行的解決/避免方案。

    分析:

    來面試的人員可能有的項目里以做前臺/UI為主,有的是更偏后臺一些,這道題前后臺都有,所以我們可以根據(jù)面試者的背景,在評分時更看重其項目里focus的那塊。

    前臺:

  • 題目里只提到了瀏覽器,考察面試者是否想到
  • (1) 前臺代碼需要支持市場上主流的瀏覽器,
    (2) 對于支持的瀏覽器,通過市場調(diào)研或者與客戶溝通,明確對于指定的瀏覽器,需要支持的版本

  • 需要支持哪些OS?

  • 用戶輸入產(chǎn)品名稱后,前臺代碼應做一定的encode處理,避免腳本注入。確保用戶輸入任意的名稱,前后臺應用均不會崩潰。

  • 商品購買數(shù)量必須合法( 必須大于0, 小于等于該商品庫存 ). 如果輸入數(shù)量不合法,在前臺通知用戶。

  • 前臺輸入的“流量控制”. 如果每個字符輸入都會產(chǎn)生一個到后臺的查詢請求,如果客戶以極快的速度T連續(xù)輸入N個字符,則前N-1個請求都是無效的,對后臺產(chǎn)生了不必要的負載。為了避免這種情況,可以設計在時間窗口T內(nèi),前N-1個請求的cancel機制,比如為時間窗口T維護一個請求隊列,當時間到達時只發(fā)送隊列尾部的請求。

  • 注:這個有點偏性能優(yōu)化的topic了?不過也可以說成,如果不這樣做,在高并發(fā)情況下,容易把后臺數(shù)據(jù)庫搞死

  • 購物車的容量限制。我們不能讓用戶無限制的往購物車里加商品。

  • 題目里提到“在線購物”,因此會出現(xiàn)這樣一種情況:用戶A搜索關鍵字a,商品a作為搜索結(jié)果出現(xiàn)在商品列表里,庫存還剩最后1個。接下來客戶B已經(jīng)將該商品加入購物車。此時用戶A再將商品a加入購物車按鈕會出現(xiàn)什么情況?

  • 只要面試者考慮到這種情況即可-考察應用程序里多用戶請求的處理。

  • 用戶開啟第一個web page將商品a加入購物車,再打開第二個web page,將商品a從購物車中刪除,此時購物車中實際上已不存在商品a。
    然后再回到第一個web page,試圖從購物車中將商品a移除。
  • 需要保證在這種情況下,前臺應用不會崩潰。

  • 客戶在購物車里加入了大量的商品,由于某種原因瀏覽器進程崩潰了,當重新登陸后,之前已經(jīng)加入到購物車里的商品是否仍然存在?
  • 只要考慮到這種可能的情況即可。

    其他和HTTP相關的比如session/cookie的就不列在這里。

    后臺:

  • SQL 注入的防止(雖然前臺已經(jīng)做過類似的encoding)

  • 如何保證同一時間高并發(fā)請求到來的情況下,數(shù)據(jù)庫不會崩潰?流量控制?負載均衡?分布式?后臺應用層加buffer?

  • 返回搜索結(jié)果的分頁/max hit - 避免一次返回太多數(shù)據(jù)讓前臺崩潰,降低后臺內(nèi)存開銷

  • 擴展編程題1:

    請編程實現(xiàn)一個數(shù)據(jù)對象的容器,該容器既能夠提供快速索引容器中對象的能力,又能夠提供按照對象放入容器中的順序來依次遍歷對象的能力。請進一步實現(xiàn)容器能夠按照對象的排序規(guī)則來遍歷容器中對象的能力。

    擴展編程題2:

    讀取一個文件,打印出文件里出現(xiàn)次數(shù)最多和次數(shù)最少的字符串本身及其出現(xiàn)個數(shù)。

    (1) 合理使用數(shù)據(jù)結(jié)構存放字符串和出現(xiàn)次數(shù)。List?map?怎么用最少的循環(huán)完成?
    (2) 正則表達式的運用
    (3) 特殊字符的處理,\t,\r, \r\n
    (4) 程序健壯性,對各種邊界條件的處理
    (5) 思考問題的完備性:題目沒有說該文件是文本文件,如果是excel, word又該如何?
    (6) 如果是給定一個很大的文件,要求用多線程實現(xiàn),請給出完整代碼。
    要獲取更多Jerry的原創(chuàng)文章,請關注公眾號"汪子熙":

    總結(jié)

    以上是生活随笔為你收集整理的一家互联网公司校园招聘的笔试题以及答题分析的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。