本帖最後由 bing15 於 2013-08-05 18:13:37 編輯
1.在一個訂單系統購物中,系統可能會因為網路比較慢,造成客戶多次點擊提交,有什麼好的解決方案。
2.在一維的數組中,資料類型是整型,使用冒泡排序演算法進行從小到大的排序。
3.你是否使用過交易處理,請最少寫出3個交易處理的函數。
4.請遍曆出一個檔案夾下的所有檔案及子檔案夾的函數。
回複討論(解決方案)
1.點擊後先使按鈕不可點,提示:"正在提交...",直到返回結果後再恢複.
2.略
3.沒用過..
4. ....這個真沒用過
汗 面試不上的節奏
都是比較基礎的題,沒什麼太多可說的。
1. 點擊一次提交後 提交按鈕置灰(不可點),幾秒後恢複(或者相應的回呼函數),不僅可以防止重複提交,而且防止由於大量重複提交對伺服器的衝擊。
4. 遞迴處理之。需要注意的是如果是linux系統,要避免對. 和.. 目錄的重複迴圈搜尋。
沒人寫第二個,那我就寫第二個吧
function maopao($arr){ $len = count($arr); for($i=1; $i<$len; $i++)//最多做n-1趟排序 { $flag = false; //本趟排序開始前,交換標誌應為假 for($j=$len-1;$j>=$i;$j--) { if($arr[$j]<$arr[$j-1])//交換記錄 {//如果是從大到小的話,只要在這裡的判斷改成if($arr[$j]>$arr[$j-1])就可以了 $x=$arr[$j]; $arr[$j]=$arr[$j-1]; $arr[$j-1]=$x; $flag = true;//發生了交換,故將交換標誌置為真 } } if(! $flag)//本趟排序未發生交換,提前終止演算法 return $arr; }}$shuz = array('2','4','1','8','5');$bb = maopao($shuz);print_r($bb);
適合我的水平,我喜歡。
3.事物處理幾個點
首先資料引擎要是innoDB
事物處理就是把一堆sql命令放到一起來執行,所有sql語句都執行成功,那麼這次事物就是成功的,就可以提交了
如果有sql命令沒有成功,那麼這次事物就是失敗的,所以可以調用rollback方法把前面的操作全部撤銷;
事物處理的過程
首先開啟事物
set autocommit=0;
.....
sql
....
if(true)
commit();
else
rollback();
function travelPath(&$fileItem,$path) {
if(file_exists($path)) {
if(is_dir($path)) {
if($handle = opendir($path)) {
foreach ($item as $handle) {
if($item == '.' || $item == '..')
return ;
if(!is_dir($item)) {
$fileItem[] = $item;
return;
}
travelPath($fileItem, $item);
}
}
}
}
}
適合我的水平,我喜歡。
1.點擊後先使按鈕不可點,提示:"正在提交...",直到返回結果後再恢複.
2.略
3.沒用過..
4. ....這個真沒用過
汗 面試不上的節奏
人家都說網路慢了,還正在提交。正在提交都不顯示。
我覺得用表單令牌。可以阻止重複提交。
我覺得用表單令牌。可以阻止重複提交。
那在漫長的等待過程中給使用者傳達什麼資訊呢? 再點沒反應? 還真不如我說這個,點了先改成"正在提交中..."然後去提交,收到結果再改回來
php面試都要這樣嗎?那我還是再學學吧!
我覺得用表單令牌。可以阻止重複提交。
那在漫長的等待過程中給使用者傳達什麼資訊呢? 再點沒反應? 還真不如我說這個,點了先改成"正在提交中..."然後去提交,收到結果再改回來
我說的是能真在的阻止重複提交,而你的不一定,如果網路不通的話,表單的頁面是不會變的,自然也不會改在自在提交。再說,如果你說你用的是JS變的,那我告訴你如果沒人把JS去了怎麼樣,人家可以一直提交對不對?你不要說使用者不會這麼做,那我告訴你如果是駭客這麼做你怎麼辦?
我覺得用表單令牌。可以阻止重複提交。
那在漫長的等待過程中給使用者傳達什麼資訊呢? 再點沒反應? 還真不如我說這個,點了先改成"正在提交中..."然後去提交,收到結果再改回來
我說的是能真在的阻止重複提交,而你的不一定,如果網路不通的話,表單的頁面是不會變的,自然也不會改在自在提交。再說,如果你說你用的是JS變的,那我告訴你如果沒人把JS去了怎麼樣,人家可以一直提交對不對?你不要說使用者不會這麼做,那我告訴你如果是駭客這麼做你怎麼辦?
表單令牌是有用的.但是請注意樓主的條件" 網路比較慢造成多次提交",這種情況下,可能表單令牌還沒有進行匹配和失效,使用者就已經多次點擊提交按鈕了,所以用JS來控制比較合適.
而且,這兩者並不衝突 可以都用.