一個 SQL Injection 考倒的面試者 與看圖說故事的面試者

話說今天在爬文,想幫公司內的品質部門做系統,系統中要有全文檢索的功能,這個功能我研究了很多次,一直沒有辦去做,主要是因為這些方法都會對mysql做外掛,先前的伺服器都是使用hosting服務,所以沒有辦去對mysql做外掛。

但是重點不是這個,而是我爬文的時候,看到他站上一篇2010年的文,而且現在2013年了,還有人在回,文章內容就說他面試了很多人,為什麼沒有人知道如何防sql injection,學校到底在教什麼,工程師為什麼不知道怎麼用內建的方式來防sql injection。

什麼是sql injection,就是利用輸入特輸符號或字元的方式,直接撓過系統管理,直接對資料表進行操作。

小弟我自己有寫防sql injection的涵式,而不是使用他說的內建系統涵式,重點是我的涵式不只防sql injeciton,還防xss攻擊。

重點是XSS或SQL Injection嗎?端看你要找的是怎麼樣的工程師了,如果你要找advanced的工程師,也許這是必要的知識,如果只是Junior的工程師,那就算了吧。

我記得先前我朋友的公司要找人,請我幫忙出考題,我就拿了我自己寫的個涵式,請他們發揮創意,看這兩個涵式是幹嘛用的,而且是面試前題目就給他們了,結果每個人都以為這兩個涵式和他們要應徵的工作有關,10個面試者全部都答錯。

我說的發揮創意是有目的的,這兩個涵式可能不只用於原來的設用途,其實我想知道面試者是怎麼想的,怎麼去看問題,我們要找的是”有經驗”的人,如果有經驗的人看了我的涵式,就知道我在幹嘛,可惜,這些人通通都答錯了。

不是說這些人不好,而是這些人忘了工程師在面對問題的時候要的是經驗外,還要有解決問題的思維。資訊系統的測試,通常會有黑箱測試和白箱測試,白箱法試就是跟你說輸入A,會產出B,結果你輸入A,真的產生B,而黑箱法試就是隨意的輸入,看測試出來的結果會如何,對有經驗的工程師來說,只要知道輸入和產出,就可以去猜測系統的內部結構和運算邏輯,越有經驗的工程師,猜中的機率越高,不僅可以模擬出系統,甚至於做的更好,如果要說這是反向工程,太言重了,但是知道運算邏輯的程度越高,對系統的掌握度越高,越是能進入使用狀況。我們要找的是Advanced的工程師,做一下測試就可以猜答案了,難不成要把答案雙手送上。更何況我們是面試前就把考題給出來了,如果在網路上問,或許也有人會回答,不幸的是,我沒有發現這些人求知的慾望,我Google不到我寫的這個獨特的涵式。

當然,這些人事後證明,就算勉強讓他們進公司,他們也跟不上其他同事的運作,大家都用新的想法和思維解問題,進度不斷的在往前的時候,他們卻是遠遠的跟不上。我只是把註解拿掉,他們就看不懂,在面試前就把題目給他們了,也有給他們時間去查,也可能看到涵式內指令的用法,而沒有直正的去看問題後面的問題是什麼,甚至於猜都猜錯。這些人真的不是我朋友公司要找的人。

原文中並沒有說他要找的是什麼的工程師,我沒有辦法說對錯,但是如果我是主考官,我會說,你答的不好,但是你把這個問題帶回去,三天內給我一個新的解法,如果我覺得還不錯,你一樣可以得到這份工作,畢竟資訊的環境中,問題這麼多,並不是每個人都會遇到這麼多問題的題。

20131015 迪亞哥說我要求太高了,其實我要求的真的不高,我也不是沒有當過主管,我自己也是菜鳥來的,過程中也不是沒有帶過社會新鮮人,一張白紙在我帶的一年多之後,已經可以獨立私考,很多事情也能獨當一面了,重點是,你要設定需求的角色是什麼,公司能給的武器(pay)有多少,權衡出來的結果。

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *