前言:本文是《四次面試,程式員越來越悲催了》的修改版,第五次面試,會是怎麼樣呢?
01
靜态網頁時代
張大胖V1.0 畢業了, 去一家公司面試。
“會做網站嗎?”
“會,我會用Dreamweaver/FrontPage寫HTML頁面,不僅是文字,我還能在裡邊添加圖檔,JPEG,GIF的都行,比純文字的漂亮多了。奧,不懂這些高深的技術名詞啊, 沒事,隻要你給我提供素材,我就能把網頁做出來,我還會申請虛拟空間做部署,用一個叫做cuteFTP的軟體就行。”
“行,那你來吧,月薪3000。”
張大胖欣喜若狂 :哇,這麼多錢,我要财了!
02
動态網頁時代
張大胖V2.0 畢業了,去一個公司面試。
“用ASP寫過網站嗎?”
“寫過啊,我用ASP寫過線上的聊天室!用application對象來存儲聊天記錄,用session儲存目前登入的使用者資訊。”
“聊天記錄不儲存到資料庫嗎?”
“沒有,一般來說,參與聊天的人能看到過去一段時間的聊天記錄就可以了,是以就直接放到記憶體中了,這樣速度很快。”
“那大家都在說話,豈不就沖突了?”
“奧,ASP的那個application對象是可以加鎖的。”
“使用者端是浏覽器,怎麼實作重新整理啊?”
“這個不難,加上一個refresh tag 就行, <meta http-equiv="refresh" content="3; url=xxxxx"> , 像這樣每隔3秒就重新整理了。”
......
“嗯,看來有實踐經驗,我們公司就缺你這樣的人才,來吧,月薪5000。”
張大胖:“好多錢!再攢幾年就可以買房了!”
03
21世紀初
張大胖V3.0 畢業了,去一家公司面試。
......
“講講MVC是怎麼回事?”
“MVC是Model-View-Controller的簡稱,實作了Web網站各個子產品的職責分離......”
“說說EJB的生命周期,如何管理事務的,在WebLogic中部署都需要哪些部署檔案......”
“你都用過哪些設計模式啊,在白闆上畫個類圖,詳細地講講。”
“講講Java 集合類。”
“AJAX的原理是什麼?jQuery都有哪些選擇器?”
“資料庫的事務是怎麼回事?有哪些隔離級别?”
......
“好了,什麼時候能上班?月薪8000。”
張大胖:“還行, 北京房價一平米五六千,還是有希望的。”
04
現在
張大胖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。”
......
張大胖被面得頭暈眼花, 最後得到了一個消息:“你先回去吧,有消息會通知你的。”
05
20年以後
張大胖V5.0 畢業了,去一家公司面試。
“會寫函數嗎?”
“函數?當然會,我還會面向對象,設計模式,分布式架構,秒殺,分庫分表,叢集,負載均衡, 微服務,限流,降級,ServiceMesh,雲原生,DevOps .....” 張大胖非常自信。
“打住打住,這些技術根本用不上,我問你會寫函數嗎?”
“為啥啊,我都熟練掌握處理三高(高并發、高性能、高可用)的技術了!”
“你說的這些技術已經爛大街了,在雲端都是基礎設施了,配置一下就Ok,根本不用你操心,現在公司都有自己的開發平台,把一切都封裝好了,你隻要把業務邏輯寫到函數裡就行。月薪3000,來不來?趕緊的,外邊還有人排隊呢!”
“......”
大牛是怎麼練成的?又是怎麼賺錢的?
漫畫:量子計算為什麼這麼牛?
架構師勸退指南
Java每次遇難,總會有大神拯救
程式員的宿命
晶片戰争70年,真正的王者即将現身!
幹掉軟體開發的最大怪獸:狼人!
宇宙第一IDE到底是誰?
HTTP Server :一個差生的逆襲
如何降低程式員的工資?
程式員,你得選準跑路的時間!
兩年,我學會了所有的程式設計語言!
Javascript: 一個屌絲的逆襲
我是一個線程
TCP/IP之大明郵差
一個故事講完Https
CPU 阿甘