自去年(2013年)11月實習已通過去了八個月了,期間由於實習的第一家公司老闆本身的緣由經營再也不繼續,那個公司的經理把咱們剩下兩個程序員和他一個在北京的朋友聚在一塊兒,成立了一家新公司,打算依託PMP和PMBOK項目管理方法論,作一個項目管理系統。可是很不幸的,這家新公司從今年1月成立一直到7月上旬,沒有產生盈利,並且產品商用遙遙無期,就在7月9日原計劃還有一個內部的產品討論會的,忽然就宣佈公司再也不經營了。程序員
由於我是專科出生,沒錢沒地位沒學歷,雖然學校成績看起來還不錯,可是學校裏面教的老掉牙的東西,仍是得靠本身學習,並且如今企業對專科程序員都不感冒啊……兩個公司,從ASP.NET WebForm到MVC 5,惋惜我都沒有完整的經驗——兩個公司,流程很是不正規,沒有各類說明書、版本控制形同虛設、沒有編碼規範……我和同窗說,這就是傳說中的做坊?面試
9日早上宣佈公司再也不經營,中午老闆帶着幾我的出去吃了個飯,飯後我一我的走路到了傅家莊海邊,在海里站了一個多小時,和家裏打了應該是三年來最長的一個電話,我說失業了,可是我很開心——或許是能從這樣一種不健康的編碼狀態中解放,或許是我一直期待能有個長假讓我沒必要再天天起牀和睡前思考這個東西應該怎麼設計,聽人使喚(雖然我樂於奉獻),連休息的時候還得聽着教唆(背後說別人壞話很很差,但這和這我的作人有關,有機會我分享一下這兩個公司的經歷)……總之,此次失業給個人是一個解脫。sql
休息了兩天以後仍是以爲得立刻找工做吧,應該不會那麼容易。果不其然。數據庫
大連,是浪漫之都,也是對日軟件外包之都……能叫得上名的,基本都給日本作外包,並且以Java爲主,因此不少同窗都是學Java的,就我上學的時候本身研究.net,不過.net真心好啊,我本身用的舒服就好。不過我舒服了,工做就很差找了,以前花了一夜更新簡歷:簡歷是我用InDesign作的,雖不是很是精美,但個人最終目的是爲了表現個人不一樣和個人誠意(要不是OneDrive網頁版被牆了,我就貼出來你們看看了,我也不是自我感受良好啊,就是以爲誠心很重要);其次,完善了智聯招聘和51job上的簡歷,由於中華英才、大街這些網站沒有合適的就沒有完善了。數組
由於我是專科生(怎麼感受和老羅的「考慮到咱們是小廠商」同樣 - -),又沒有日語基礎(在招聘網站上清一色的日語三級以上,要求能看懂式樣書,N年開發經驗);篩選條件加上ASP.NET的活,還有一些三五年以上經驗的,但要加上MVC就寥寥無幾了 =。= 若是會日語……沒準能夠去埃森哲的那個對日MVC試試,惋惜不會啊,這時候就是少壯不努力,老大徒傷悲。服務器
雖然是職位不多吧,可是凡是招聘需求裏寫了「精通」的,我是一概不投的,哎呀別說,這個專科生還真是自覺得是。其實就是很想吐槽一下,我一個應屆畢業生要「精通」,精通了我還去你這破公司?因而我很裝逼的度過了一週,招聘網站顯示簡歷被閱讀0,我就呵呵了,大家不看就算了,浪費個人心血和時間,直接給hr的郵箱投遞吧,還真好,一個hr就給我來了電話,告知下週一(也就是昨天)面試。函數
我是真的真的不是很想說……都是些低級錯誤,過低級了,毫無專業性,人生的污點,唉。不過本着娛樂大衆,以及年輕就是來犯錯的的精神,仍是分享給你們。真的是毫無專業性,有損專業性的錯誤……學習
還有,我發現面試以前憋着尿是個防止緊張的好辦法……昨天提早半個小時到硬是沒找到廁所,還有15分鐘的時候我打算進入他們辦公區借個廁所,天吶誰知道還有前臺,直接歹着我見hr就開始比試了……一點也不緊張………………網站
筆試題目看起來是從網上直接down下來的,一開始對方對個人專科能力表示了質疑,沒辦法低人一等嘛,我就開始憋着尿,坐着寫。其中有兩題我犯了低級錯誤拿來分享一下(真的是從這個錯誤上看不出我是學計算機出生……)編碼
第一題:有這樣一個數列 1 1 2 3 5 8 13 21 …… 求第30位是多少,經過遞歸實現。
第二題:有這樣一個表Table1用於記錄事務,他由ID和LastUpdateDate,ID表示更新的事務號,LastUpdateDate表示更新時的服務器時間,請使用一句SQL語句得到最後更新的事務號。
是否是很腦殘的兩道題…有時候真的就是,在現場腦殼會懵掉的,回到住處以後細細一想……說多了都是淚。
下面分析一下個人心態、失敗緣由以及解題思路。
第一題:在寫的時候我就震驚了,目測這麼麻煩,數學很差的我直接跳過了,想一想都很難啊!!!!遞歸,只作過階乘,只記得遞歸須要有一個退出點,這個第30位,傳30到方法裏,也算不出是多少啊啊啊啊 =。= 腫麼辦 腫麼辦
這題我首先就被本身的心態戰勝了,可能也是筆試比較趕時間;另外一個問題就是定勢思惟,定勢思惟是個很可怕的東西,一旦進去了再也出不來了……
並且回到家以後我仍然被這個定勢思惟卡住了好久,直到後來是由於我想看看第30位是多少,寫了一個簡短的計算:
long[] longArr = new long[40]; longArr[0] = 1; longArr[1] = 1; for (int i = 2; i < longArr.Length; i++) { longArr[i] = longArr[i - 2] + longArr[i - 1]; } for (int i = 0; i < longArr.Length; i++) { Console.WriteLine("{0}: {1}", i + 1, longArr[i]); }
其實在寫這個數組的時候就已經豁然開朗了,(若是把給Arr[0]和[1]寫到for裏面進行判斷就更明顯了,寫出來以後本身才發現)很明顯的當 i <= 2 時返回 1,當i > 2以後計算 (i - 2) + (i - 1),因此遞歸方法:
static long Calc(long i) { if (i <= 2) return 1; else return Calc(i - 2) + Calc(i - 1); }
寫出來以後我就笑了……太腦殘了。
第二題更腦殘,前一題好歹還得動動腦筋,這一題真的就是人生的污點……
這好像是第四題,已經有上一題的陰影了,影響仍是比較大的,當時看到這題第一反應竟然是使用聚合函數MAX(LastUpdateDate)查出最新的時間,而後子查詢WHERE LastUpdateDate 等於這個最新時間,可是這有一個致命缺點,若LastUpdateDate不惟一,查出的ID就未必是最新一條的,當時我就傻了,心急啊,整我的抓狂狀
另外就是自從用ASP.NET MVC以後呀,使用Entity Framework的Code First了,半年沒怎麼寫SQL語句了……都是用LINQ,當時卻沒想用LINQ怎麼寫(若是想了想很容易發現應該用OrderByDescending(x => x.LastUpdateDate),只是揹負了這個心理負擔,認爲本身確定作不出了,沒救了。
其實這題就是個腦殘的ORDER BY,可是不知道爲何,本身面試當時就是沒想到,思路卡在第一反應,並且特別心急,你們也要避免這樣的問題。這題我以爲這樣比較好,倒序排列總能讓最新一條排在最上面,固然數據庫不是個人本行,有新想法你們能夠說哦:
SELECT TOP 1 ID FROM Table1 ORDER BY LastUpdateDate DESC
囉嗦了這麼多,最後仍是總結一下,主要就是三方面:
好了,囉嗦了這麼多,我仍是以爲年輕就是來犯錯的,不過既然我犯了這些錯,你們就不要重蹈覆轍了!不以爲很丟臉麼 =。=!!!真的就是心態很重要!!
後面和開發一部負責人面的仍是比較愉快的,之前作過的「花印相機」演示了一下效果很好,他說我是實戰型的,理論知識可能並非很紮實,可是能作得出東西,但這樣的人每每容易作出一些維護成本較高的代碼(事情),我也會注意的。
無論這家公司最後要不要我,我以爲都收穫很大,重要的不是結果而是過程,固然,結果好那就更好拉^^
這麼多年看博客園,第一次發文章,你們一塊兒努力,共勉!