2017.05.19HIGO面試

HIGO網(wǎng)絡(luò)辖试。。

問(wèn)我的是MySQL的存儲(chǔ)問(wèn)題劈狐。

一個(gè)長(zhǎng)url怎么存儲(chǔ)罐孝,對(duì)應(yīng)到服務(wù)端的短url,怎么進(jìn)行存儲(chǔ)呢肥缔?

(首先我并不知道莲兢,怎么存儲(chǔ)額,什么東西額)续膳。

訪問(wèn)者改艇,有一個(gè)短鏈,如何對(duì)應(yīng)到長(zhǎng)鏈坟岔。谒兄。。社付。

就是我有一個(gè)長(zhǎng)網(wǎng)址承疲,有一個(gè)短網(wǎng)址,我如何將短網(wǎng)址快速的對(duì)應(yīng)到長(zhǎng)網(wǎng)址鸥咖,有什么快速的方法燕鸽。(面試官,這是相當(dāng)于給了我提示)

數(shù)據(jù)模型需要用數(shù)據(jù)庫(kù)存下來(lái)啼辣。需要存儲(chǔ)的字段绵咱,可能用到的索引,預(yù)計(jì)每個(gè)字段的長(zhǎng)度熙兔,具體點(diǎn)描述。

為什么用兩個(gè)表艾恼? 說(shuō)明這個(gè)東西不好住涉。
為什么不能用一張表來(lái)存?

這個(gè)表如果加索引的話钠绍,我們?cè)撊绾渭铀饕赜呱恳簿褪钦f(shuō),我們?cè)谀男┳侄紊厦婕铀饕员慵涌焖饕俣取?/p>

能不能有什么快的方法存儲(chǔ)一個(gè)長(zhǎng)鏈媳握,分成http碱屁,string,本身的域名蛾找。分成三部分存娩脾。。打毛。有沒(méi)有考慮柿赊。
有沒(méi)有更節(jié)約存儲(chǔ)空間的方法。幻枉。碰声。。熬甫。胰挑。。

那你知道怎么去識(shí)別一個(gè)url的域名椿肩,http瞻颂,string。覆旱。蘸朋。

url規(guī)則

(http|https)://<主機(jī)名>:<端口號(hào)>/<路徑>?<查詢字段>#<片段>

什么是解析
https://www.baidu.com/s?wd=url%20規(guī)則&rsv_spt=1
協(xié)議名是什么,
Domain是什么
域名是什么
主域名扣唱,二級(jí)域名是什么
有沒(méi)有端口號(hào)藕坯,端口號(hào)是什么。

你知不知道有什么方法識(shí)別http噪沙,query(string)炼彪,,你知道什么切割方法嗎正歼?

那么辐马,你知不知道,PHP里面其實(shí)又辦法做這些事情的局义。

Parse_url

<?php
$url = 'http://username:password@hostname/path?arg=value#anchor';
print_r(parse_url($url));
echo parse_url($url, PHP_URL_PATH);
?>
以上例程會(huì)輸出:
Array
(
[scheme] => http
[host] => hostname
[user] => username
[pass] => password
[path] => /path
[query] => arg=value
[fragment] => anchor
)
/path


那么我們換個(gè)方法喜爷,我們用摘要算法,將長(zhǎng)鏈轉(zhuǎn)換成短鏈萄唇,你有什么辦法嗎檩帐?

substr(md5($url) ,0,7);

id 長(zhǎng)鏈 短鏈 時(shí)間
http://www.baidu.com /xxxxxfaefwaf
http://t.cn
http://t.cn/3e5f2ed1

http://t.cn/3e5f2ed1對(duì)應(yīng)成長(zhǎng)鏈

你能解釋一下,什么是sql注入另萤?

Sql注入是利用服務(wù)器端接受客戶器端參數(shù)時(shí)湃密,沒(méi)有進(jìn)行安全檢驗(yàn)诅挑,然后利用數(shù)據(jù)庫(kù)特殊字符串截?cái)嘣甲址缓笤黾幼约哼壿嫷墓舴绞健?/p>

如何截?cái)啵?br> https://www.baidu.com/s?wd=url%20規(guī)則&rsv_spt=1 or sleep(1)

select * from xxx where rsv_spt=$_GET['rsv_spt']
select * from xxx where rsv_spt=1
select * from xxx where rsv_spt=1 or sleep(1)
select * from xxx where rsv_spt=1 or 1=1
select * from xxx where rsv_spt=$_GET['rsv_spt']

對(duì)于一個(gè)數(shù)字:
if(!is_number($_GET['rsv_spt']))
{
return false;
}

mysql_escape_string
轉(zhuǎn)義一個(gè)字符串用于 mysql_query
<?php
$item = "Zak's Laptop";
$escaped_item = mysql_escape_string($item);
printf ("Escaped string: %s\n", $escaped_item);
?>
以上例子將產(chǎn)生如下輸出:
Escaped string: Zak's Laptop

' '
' "
php md5
md5($str);
64 或 32位字符串
substr($str,0,7);
創(chuàng)建文件
touch
文件夾 mkdir
chmod 755 xxx

要是200長(zhǎng)度泛源,散列成8位拔妥。

1、 解析url

$hash_str=3e5f2ed1
select * from xxx where 短鏈=3e5f2ed1

長(zhǎng)密碼 hash_value
短鏈达箍,就是md5 之后的密碼没龙。

把數(shù)據(jù)做到一張表上面,

select * from xxx where 短鏈=3e5f2ed1

密碼不做存儲(chǔ)幻梯,長(zhǎng)短鏈需要做存儲(chǔ)兜畸。

查的比較頻繁,才加一個(gè)索引碘梢。
索引的使用原則: 1.有查詢需求咬摇。。煞躬。肛鹏。2.差異度大的。恩沛。

100萬(wàn)的情況在扰,只有兩種,加索引雷客,就沒(méi)有什么用芒珠。

知識(shí)是死的 應(yīng)用是活的 要會(huì)變通
長(zhǎng)鏈 短鏈 相互轉(zhuǎn)化 不就類似我給你講的 明文密碼 和 加密后的密碼 的轉(zhuǎn)化嗎?
類似的東西 思考一下再
簡(jiǎn)歷上的東西踏實(shí)的過(guò)一遍再

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末搅裙,一起剝皮案震驚了整個(gè)濱河市皱卓,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌部逮,老刑警劉巖娜汁,帶你破解...
    沈念sama閱讀 210,914評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異兄朋,居然都是意外死亡掐禁,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,935評(píng)論 2 383
  • 文/潘曉璐 我一進(jìn)店門颅和,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)傅事,“玉大人,你說(shuō)我怎么就攤上這事峡扩〔湓剑” “怎么了?”我有些...
    開封第一講書人閱讀 156,531評(píng)論 0 345
  • 文/不壞的土叔 我叫張陵有额,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我,道長(zhǎng)巍佑,這世上最難降的妖魔是什么茴迁? 我笑而不...
    開封第一講書人閱讀 56,309評(píng)論 1 282
  • 正文 為了忘掉前任,我火速辦了婚禮萤衰,結(jié)果婚禮上堕义,老公的妹妹穿的比我還像新娘。我一直安慰自己脆栋,他們只是感情好倦卖,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,381評(píng)論 5 384
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著椿争,像睡著了一般怕膛。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上秦踪,一...
    開封第一講書人閱讀 49,730評(píng)論 1 289
  • 那天褐捻,我揣著相機(jī)與錄音,去河邊找鬼椅邓。 笑死柠逞,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的景馁。 我是一名探鬼主播板壮,決...
    沈念sama閱讀 38,882評(píng)論 3 404
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼合住!你這毒婦竟也來(lái)了绰精?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,643評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤聊疲,失蹤者是張志新(化名)和其女友劉穎茬底,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體获洲,經(jīng)...
    沈念sama閱讀 44,095評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡阱表,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,448評(píng)論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了贡珊。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片最爬。...
    茶點(diǎn)故事閱讀 38,566評(píng)論 1 339
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖门岔,靈堂內(nèi)的尸體忽然破棺而出爱致,到底是詐尸還是另有隱情,我是刑警寧澤寒随,帶...
    沈念sama閱讀 34,253評(píng)論 4 328
  • 正文 年R本政府宣布糠悯,位于F島的核電站帮坚,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏互艾。R本人自食惡果不足惜试和,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,829評(píng)論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望纫普。 院中可真熱鬧阅悍,春花似錦、人聲如沸昨稼。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,715評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)假栓。三九已至寻行,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間但指,已是汗流浹背寡痰。 一陣腳步聲響...
    開封第一講書人閱讀 31,945評(píng)論 1 264
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留棋凳,地道東北人拦坠。 一個(gè)月前我還...
    沈念sama閱讀 46,248評(píng)論 2 360
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像剩岳,于是被迫代替她去往敵國(guó)和親贞滨。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,440評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理拍棕,服務(wù)發(fā)現(xiàn)晓铆,斷路器,智...
    卡卡羅2017閱讀 134,626評(píng)論 18 139
  • 一. Java基礎(chǔ)部分.................................................
    wy_sure閱讀 3,805評(píng)論 0 11
  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語(yǔ)法绰播,類相關(guān)的語(yǔ)法骄噪,內(nèi)部類的語(yǔ)法,繼承相關(guān)的語(yǔ)法蠢箩,異常的語(yǔ)法链蕊,線程的語(yǔ)...
    子非魚_t_閱讀 31,596評(píng)論 18 399
  • 從三月份找實(shí)習(xí)到現(xiàn)在,面了一些公司谬泌,掛了不少滔韵,但最終還是拿到小米、百度掌实、阿里陪蜻、京東、新浪贱鼻、CVTE宴卖、樂(lè)視家的研發(fā)崗...
    時(shí)芥藍(lán)閱讀 42,206評(píng)論 11 349
  • 文/鴻運(yùn) 我愿化作一葉小舟 游走在大自然 只賞花開花落 只觀綠水青山 我愿化作一葉小舟 游走在宇宙之間 看云舒云卷...
    HONGYUNDANGTOU閱讀 656評(píng)論 21 19