https://www.matools.com/blog/190299983
原文連接html
爲何要起這個標題?
通常不都是說怎麼去大廠嗎?
小廠有啥好說的?
錢少、事多,技術落後,學不到東西,還加班。
誰他麼不能進?前端
一找工做,發現還真有點難。
由於競爭的人,好像有點多。vue
我靠,原來這麼多人都只能去小廠???java
而咱們在網上看到的面試文章畫風都是這樣的:mysql
《大廠程序員面試邏輯題面面觀》
《阿里P7必定難嗎?》
《我是怎樣拿到阿里、騰訊、滴滴、京東offer的?》
《字節跳動三面事後,HR說讓我回去等通知》
《一文告訴你,掌握XXX才能進大廠》程序員
好吧,由於大廠你們都想進,我也想進。因此這樣的文章標題仍是頗有吸引力的。面試
可是一方面是你們也不全都是在北上深杭。
二三線城市又沒什麼知名互聯網公司。
並且對於工做三五年之內的同窗來講,殘酷的真相是,這些文章沒有說一個你們心知肚明的前提:
不是98五、211,你連面試的資格都沒有!ajax
我想大部分程序員也都不是98五、211畢業的吧?
我見過不少程序員,也帶過很多團隊,其中有98五、211的本科生、研究生,也有大專畢業的,還有中途幹了幾年別的中間轉程序員的。
不能否認98五、211的畢業生學習力確實比較強,可是比例差距並無那麼大。
至少在我帶過的團隊裏,大專、雙非本科畢業的同窗跟他們的差距也就是4:6這樣。redis
在工做中,其實咱們又回到了同一塊兒跑線!
可是在境趕上,咱們必須很現實地看到,在薪資獲取、職位提高、職業發展的路程中,差距確實很大,甚至愈來愈大。spring
我想不少人內心都有本身的想法,本身的看法。
爲何咱們付出同樣多的努力,獲得的卻比別人少呢?
別人在大廠一年、兩年就能達到的成績、薪資、職位,可能你須要付出4、五年才能達到。
我只能說是應該的。這是過去的你償的債。
讀書時的缺失只能用工做中的時間去彌補。
而在工做後,你有了從新再來一次的機會。
咱們能夠以大廠爲目標,可是得認可先天性上確實有差距。
因此能夠先去小公司去歷練下。
小公司由於人少,流程也比較少。招人就是來幹活的。
對學歷的並不是很看重。
我本身發出的標準就是大專就好了。
可是小廠招人也特別塊,基本沒有所謂二面。
因此第一印象很重要。
怎麼在一次面試中就get到面試官的點?
怎麼將本身的優點發揮出來?
在面試前應該準備什麼?
在面試時遇到不會的怎麼辦?
好吧,看看接下來我怎麼裝逼,錯了,是從面試官的角度,說一些掏心窩子的話,寫寫這個《程序員的小廠面試寶典》吧。
過年後到了一家小公司,開始創業之路。
這兩天開始招人組建技術團隊。
陸陸續續面試了近二十我的。
小公司來面試的大部分都是雙非畢業生。
看到他們就想起了曾經的本身。十年前的那個我。
我中學是上的職高,大專上的業餘,畢業後還作了一年電腦維修。
能夠提及點是差得不能再差了,低過90%程序員的學歷和起步。
而後自學C,邊工做邊學了兩個月,自學學不下去,進入一家培訓班學了java。
學完後,進入一家小公司實習,第一個月工資是1200。
好了,苦情背景話都說完了。說說正題吧。
面試的這些人大部分都是雙非背景,工做兩三年內的。
拿上簡歷一看,熟悉XXX技術,一問XXX:
不知道,
沒學過,
只瞭解一點。
**三連暴擊,暴得我肝疼。
【你逗我呢?不會你也寫?臥槽,你自找麻煩嗎?】
可是我後來想了想,這好像也正常,由於你不寫這些東西,HR都不會給你面試的機會。
因此面試一看簡歷,基本的套路一看就能看出來:
寫了精通,就是工做中經常用到;
寫了熟練,就是用過一點;
寫了解,就是偶爾吹牛的時候聽過。
我在面試的時候,生怕漏了明珠,因此總會問來面試的同窗:
你擅長什麼?
Java、數據庫、前端你哪方面掌握的比較好?
你經常使用的技術棧是什麼?
說一件讓你印象深入的事,能夠展示你解決問題的能力,或者學習的能力。
好了,以上就是個人面試套路。你掌握了這個套路,是否是就能套路我了?
因此,你到底有沒有某一方面能夠打動面試官的點呢?
在面試時,我會在上面那些套路的問題時,追着去問你所掌握的技術棧能力。
譬如你說你擅長後端,我就會問些Java、中間件;
你說擅長數據庫,我會臨時出個題,讓你寫個SQL;
你說擅長前端,我會問下JavaScript、vue。
對於不通工做經驗年限的人,我問的問題層次也不太同樣。
後端:
Java有哪些集合類?ArrayList跟LinkedList有啥區別?
springboot用過嗎? 是怎麼使用的?
redis用過嗎?它是用來作什麼的?爲何比較塊呢?
數據庫:
一個學生成績表,有學生、班級、成績、課程,怎麼一條語句分組展現班級的學生總分數?
前端:
怎麼獲取一個id是ss的div,去改變它的內容?
jQuery的Ajax怎麼用的?它封裝了原生js的一個什麼組件?
後端:
ArrayList跟LinkedList有啥區別?有什麼優缺點呢?它們是線程安全的嗎?
springboot用過嗎? 是怎麼作到簡化配置的?爲何能自動裝配呢?聽過factories文件嗎?
redis用過嗎?聽過緩存穿透、緩存雪崩的問題呢?怎麼解決呢?
mybatis是一個什麼框架?它跟JDBC有什麼區別?它是怎麼鏈接數據庫執行SQL的?
數據庫:
一個學生成績表,有學生、班級、成績、課程,怎麼一條語句分組展現A、B、C班級的學生總分數?
基於上題,怎麼篩選總分數1萬分以上的班級呢?
基於上題,怎麼再篩選60分以上的同窗,60分以上的成績參與統計,如下不統計呢?
作過查詢優化嗎?知道執行計劃嗎?
前端:
怎麼獲取一個id是ss的div,去改變它的內容?
JavaScript中的function a(){this.s =1};this是屬於哪一個對象?
jQuery的ajax是封裝了原生js的一個什麼組件?
知道盒模型嗎?
知道閉包嗎?
小程序跟vue用過嗎?跟html有什麼區別?
後端:
spring boot用過嗎? 是怎麼作到簡化配置的?爲何能自動裝配呢?聽過factories文件嗎?
redis用過嗎?聽過緩存穿透、緩存雪崩的問題呢?怎麼解決呢?
怎麼作一個分佈式鎖呢?
應用怎麼作集羣?集羣、負載、分佈式有什麼區別?
用過多線程嗎?怎麼建立一個鏈接池?
若是前端有個出具報表的請求,須要請求三十張表的數據,我如今在後端用多線程來解決,每一個線程查詢一張表,怎麼將這三十個線程的數據彙總返回給前端呢?用同步仍是異步?同步怎麼作?異步怎麼作呢?
數據庫:
作過查詢優化嗎?知道執行計劃嗎?
知道怎麼挑選索引字段嗎?有索引必定快嗎?索引失效怎麼辦?
用過mysql?mysql怎麼作到主從複製的?怎麼解決腦裂問題?
知道分區嗎?用過度庫分表中間件嗎?
用過Oracle?Oracle是怎麼作集羣的?
前端:
jQuery的ajax是封裝了原生js的一個什麼組件?
知道盒模型嗎?
知道閉包嗎?
vue用過嗎?是怎麼作到雙向數據綁定的?
知道prototype原型鏈嗎?怎麼用prototype開發一個jQuery庫?
做爲一個面試官,我想招一個什麼樣的人呢?
首先,確定是有「錢」這個前提的。
就是招聘這個崗位,這個崗位能給多少錢,可能會有必定的浮動,可是都會限制在必定範圍內。
因此在這個範圍內,咱們確定是想招到合本身心意的人選。
那麼,我做爲一個面試官,我會想招一個什麼樣的人選呢?我會考察他哪方面的能力呢?
我是一個面試者,我又怎麼表現出本身的能力?表現哪方面的能力呢?
做爲一個面試官,在拿到面試者的簡歷後,問上一兩個問題,有沒有實際工做的經驗,有什麼技術能力,很容易便能分辨出來。
可是有兩種能力,卻很難分辨出來。一個是解決問題的能力,一個是工做中學習的能力。
而這兩種能力,倒是我在挑選同層級候選者們時最看重的能力。
你擅長什麼?
Java、數據庫、前端你哪方面掌握的比較好?
你經常使用的技術棧是什麼?
說一件讓你印象深入的事,能夠展示你解決問題的能力,或者學習的能力。
你喜歡分享嗎?有記筆記、寫博客的習慣嗎?有參與過開源社區的項目嗎?
若是讓你對本身的學習能力打個分,你會打多少分?
在多數候選者的心中,本身的學習能力都是毋庸置疑的,特別是我問"若是讓你對本身的學習能力打個分,你會打多少分?"
通常人的回答都是80分。
我想若是不是中國人的謙虛本能抑制住了他們的驕傲,一百二十分也是沒問題的。
可是咱們每每都會高估了本身的學習能力。
我低頭看看我本身就明白了,買書如山倒,看書如抽絲。
而我最看重的是這個問題:
說一件讓你印象深入的事,能夠展示你解決問題的能力,或者學習的能力。
我但願在面試官對你說這句話的時候,你能夠盡情地把你本身的學習方法、遇到過的項目難題、解決問題的步驟很清晰地展示出來。
能展現你的【自我評價】上所描述的【熱愛編程,有鑽研精神,能獨立解決難題】等等這些比較」虛「的內容。
若是面試官沒有對你說這句話,我也但願你能在面試官對你提問的時候,儘可能去展示你的風采。
在面試前,想好本身的優缺點;面試時,突出本身的優勢。
你到底擅長什麼?
你是怎麼學習新技術的?
你對什麼有比較深的研究呢?
你是怎麼解決問題的?
錯,沒有關係,要有本身的思考。 可是請不要胡說八道。
僅以此篇,獻給正在忙忙碌碌找工做的同窗們吧。
找一份工做簡單。找一份滿意的工做卻很難,誰都羨慕去大廠。
不過對於普通人的咱們,仍是先在小廠摸爬滾打一下吧。
多coding:這個很少說了,碼農天天花10幾個小時寫代碼不是啥難事吧?最大的難事多是琢磨琢磨怎麼保護腰和頸椎。固然,多coding包括了多實踐,最好是實BAT的踐。至於leetcode、topcoder、各類OJ什麼的,若是隻瞄着BAT,那大可沒必要浪費時間,可是若是打算拿硅谷的offer或者北京那一票海龜回來辦的公司,leetcode全刷一遍仍是必須的。
多思考:只寫代碼是不夠的,至於該怎麼思考、該思考什麼,這個屬於多思考的一個子問題之一,每一個人心中應該都有點兒普,開發中多問本身幾個爲何。
多閱讀:不少朋友都在糾結閱讀什麼?各類編程思想啊、高併發啊、多線程啊等等。固然,天天上下班在路上,或者蹲坑的時候。手機就是個很好的媒介,利用碎片化時間獲取對本身有用的資訊。
面對選擇,能夠橫向、縱向去思考,但無需糾結,自身能力是獲取一切機會的基礎。隨着時間的推移,本身的技術停滯不前,不知道該怎麼去提高,不知道目前本身處在什麼水平,更沒有一個完整的體系,針對這些問題,今天給你們分享面試要點,但願能夠幫到大家。
閱讀、分析源碼是程序員最基本的代碼能力也是碼農的根本所在,學習經典源碼中所用到的經典設計思想及經常使用設計模式,可以幫你瞭解大牛是如何寫代碼的,從而吸取大牛的代碼功力。在阿里面試中,MyBatis、Spring等框架的底層原理是常常會被問到的。想進名企大廠?阿里程序員給你三點建議
阿里巴巴有不少大團隊,這種大團隊裏有不少小團隊,到小團隊以後,作的業務都不相同,若是想立足成爲一線互聯網公司中的萬能選手,最主流的分佈式架構中有不少知識都是必需要去了解與學習的。而且在阿里面試過程當中,面試官會問到實際應用場景的問題:好比微服務化、用戶量、併發量、業務複雜度以及可擴展程度等。
微服務是如今互聯網架構技術中最火熱的話題之一,在阿里面試過程當中,面試官會問到不少關於微服務相關的問題,但做爲一名開發者,一名有技術夢想的程序員微服務架構是如今必需要去了解的主流技術。
性能一直是讓程序員比較頭疼的問題,當系統架構變得複雜和龐大以後,性能方面就會降低,特別是阿里巴巴這樣的一線互聯網公司最爲注重。所以想進入阿里,性能優化必定是要去深刻學習與理解的一環
但願這些對你們有所幫助,要不要進入BAT多是因人而異,一線互聯網加班太嚴重了,雖然也學到了不少技術,這些技術基本在外面是接觸不到的,可是本身的工做時間會延長,每一種選擇都是一種精彩,願你將來可期!
動畫:一招學會TCP的三次握手和四次揮手
美團面試題:Java-線程池 ThreadPool 專題詳解
在這裏得到的不只僅是技術!