四次面試:程序員越來越悲催了?

四次面試:程序員越來越悲催了?

作者 | 劉欣

責編 | 伍杏玲

本文經授權轉載自碼農翻身(ID:coderising)

靜態網頁時代

張大胖V1.0 畢業了, 去一家公司面試。

“會做網站嗎?”

“會,我會用Dreamweaver/FrontPage寫HTML頁面,不僅是文字,我還能在裡邊添加圖片,JPEG、GIF的都行,比純文字的漂亮多了。奧,不懂這些高深的技術名詞啊, 沒事,只要你給我提供材料,我就能做出來,我還知道怎麼傳到服務器上去,可以用一個叫做cuteFTP的軟件。”

“行,那你來吧,月薪3000。”

張大胖欣喜若狂 :哇,這麼多錢,我要財了!

動態網頁時代

張大胖V2.0 畢業了,去一個公司面試。

“用ASP寫過網站嗎?”

“寫過啊,我用ASP寫過在線的聊天室!用application對象來存儲聊天記錄,用session保存當前登錄的用戶信息。”

“聊天記錄不保存到數據庫嗎?”

“沒有,一般來說,參與聊天的人能看到過去一段時間的聊天記錄就可以了,所以就直接放到內存中了,這樣速度很快。”

“那大家都在說話,豈不就衝突了?”

“奧,ASP的那個application對象是可以加鎖的。”

“用戶端是瀏覽器,怎麼實現刷新啊?”

“這個不難,加上一個refresh tag 就行, <meta http-equiv="refresh" content="3; url=xxxxx"> , 像這樣每隔3秒就刷新了。”

“嗯,看來有實踐經驗,我們公司就缺你這樣的人才,來吧,月薪5000。”

張大胖:“好多錢!再攢幾年就可以買房了!”

21世紀初

張大胖V3.0 畢業了,去一家公司面試。

“講講MVC是怎麼回事?”

“MVC是Model-View-Controller的簡稱,實現了Web網站各個模塊的職責分離......”

“說說EJB的生命週期,如何管理事務的,在WebLogic中部署都需要哪些部署文件......”

“你都用過哪些設計模式啊,在白板上畫個類圖,詳細地講講。”

“講講Java 集合類。”

“AJAX的原理是什麼?jQuery都有哪些選擇器?”

“數據庫的事務是怎麼回事?有哪些隔離級別?”

“好了,什麼時候能上班?月薪8000。”

張大胖:“還行, 北京房價一平米五六千,還是有希望的。”

現在

張大胖V4.0 畢業了,去一家公司面試。

“JDK的源碼看過沒有, 先說說HashMap的實現原理吧!”

“JVM類加載的過程是什麼?Java的內存模型是什麼樣的?JVM的垃圾回收算法有哪些?講講Java 鎖的實現原理。”

“比較一下select、poll、epoll 的優缺點。”

“TCP和UDP有什麼區別, 為什麼TCP要三次握手,四次揮手?TCP如何控制阻塞?HTTP的短連接和長連接是什麼意思?”

“Spring的AOP是怎麼實現的?ASM是怎麼操作字節碼的?”

“volatile 是怎麼回事?CAS呢?ABA問題怎麼解決?”

“線程池是怎麼回事?有哪些參數可以設置?”

“說說MySQL 的InnoDB索引的實現原理。如何有效地利用索引?MVCC是怎麼回事?數據庫的讀寫分離,表的垂直和水平拆分怎麼做?緩存和數據庫的一致性怎麼處理?”

“講解CAP理論, 最終一致性,BASE的原理。”

“用通俗的語言講解一下Spring Cloud。”

張大胖被面得頭暈眼花, 最後得到了一個消息:“你先回去吧,有消息會通知你的。”

寫在最後

程序員是越來越悲催了?不見得。

時代在變,技術在變, IT行業對程序員的要求是越來越高,現在的程序員需要學習的東西更多了, 確實是更加辛苦了,當然,能力也更強了。

將來會發展到什麼程度呢?歡迎留言,說說你的看法。

作者簡介:劉欣,前IBM架構師,近20年從業經驗,「碼農翻身」公眾號作者,暢銷書《碼農翻身》作者,用故事講解技術是拿手好戲。 撥開技術迷霧,輕鬆理解技術本質,從「碼農翻身」開始。

【END】

相關推薦

推薦中...