類別 | 具體技能和麪試問題 | 如今的回答(大三下) |
---|---|---|
語言 | 最拿手的計算機語言之一,代碼量多少? (偏web前端,PC/Mobile App) | html,代碼量爲3000 |
語言 | 最拿手的計算機語言之二,代碼量多少? (偏後端,數據處理,網站後臺,機器學習 | C,代碼量爲4000 |
軟件實現 | (閱讀代碼的能力,實現,單元測試) 一、你有沒有在別人代碼的基礎上改進,你是怎麼讀懂別人的代碼的? 二、你採起了什麼辦法來保證你的新功能不會影響原來的功能? 三、你在開發中碰到最複雜的bug是什麼,你是如何解決的? 四、這個bug出現的緣由是什麼,你在未來應該怎麼去避免bug再出現? |
一、印象中沒有,由於很不喜歡看別人的代碼,有的是會片斷的學習 二、逐字逐句的推敲研究 三、代碼上要注意分塊隔開,變量上的名稱有意義不覆蓋,在增長了一個新功能的同時要去檢查一下原來的功能受到影響,避免後面堆雜 四、從後端傳入的js語言的數據要進行提取並放到框架中,還要保證相同日期的日期顯示只顯示一條,經過慢慢調試,網上找相似的案例分析解決 五、出現的緣由是對js語言的不瞭解,對列表數據填充的知識瞭解不夠深刻,未來須要多接觸這些語言並結合使用,熟能生巧 |
軟件測試 | (測試方法、測試工具、測試實踐、代碼覆蓋率) 一、你如何測試你本身寫的代碼? 二、你如何測試別人的代碼? 三、你掌握了多少種測試工具和方法? 四、你寫過測試工具麼? 五、你如何對一個網站進行壓力測試和效能測試? 六、你如何測試一個軟件的人機界面(UX/UI)? |
一、編寫測試代碼進行測試 二、直接運行進行大數據測試 三、微信小程序平臺的測試工具,測試方法只會測試代碼測試 四、沒有啊 五、多人同時訪問進行壓力測試,效能測試主要看運行的速度和服務器的響應速度 六、主要是經過一個美觀和使用操做的狀況進行測試的 |
效能分析 | 效能分析,效能改進 一、你寫過的最複雜的代碼是什麼? 二、你是如何測量和改進它的效能的,用了什麼工具,如何分析的? |
一、算法課的結課代碼,是一個尋找凸包的程序 二、大數據衝擊,當時纔不懂什麼測試工具呢 |
需求分析 | (需求分析,典型用戶,場景,創新) 一、你作過多少個有實際用戶的項目,用戶最多有多少? 二、你的項目有什麼創新的地方? |
(哭泣)沒有作過實際的項目 |
行業洞察 | 一、你最感興趣的領域是什麼? 二、這個領域過去10年經歷了哪些創新? 三、你分析過這個領域前10名產品麼?請分析一下他們的優劣 四、你要進入這個領域,應該如何創新? |
一、最感興趣的是AR 二、這個領域算是比較新的行業,產品從早教到導航都有涉及 三、沒有分析過,可是AR產品在導航方面作的比較通常,比較多的是紅包和早教產品 四、創新的話能夠考慮在什麼方面很好的利用AR這個技術而且投入使用的可能性最大 |
項目管理 | 一、你參與過項目管理麼?請描述一下兩個當下流行的開發方法在你的項目中的具體應用狀況 二、請問你如何決定項目中各類任務的優先次序,有什麼理論來支持你的作法 三、若是你忽然發現項目不能按時完成,你做爲項目領導,有什麼辦法? |
沒有參加過項目管理 |
軟件設計 | 一、你作過架構設計,模塊化設計,接口設計麼? 二、請說明一下你爲什麼是這樣設計 三、你比較過什麼不一樣的設計方式,你的設計取得了什麼結果? |
一、模塊化設計 二、模塊化設計不只是方便本身對代碼的審覈和查閱,而且對於糾錯也比較容易 三、若是不使用模塊化設計,你的代碼看起來將會毫無邏輯性可言,雜亂無章,本身都看不下去 |
質量意識 | (代碼複審/代碼規範/代碼質量) 一、你是怎麼作代碼複審的 二、你加入咱們團隊後,能幫咱們提升代碼質量麼,請具體說怎麼提升? |
一、主要是經過本身複審和同伴複審 二、能夠,經過審覈代碼的規範性和可行性來提升代碼的質量 |
工具/社區 | Software Tools (performance tool, verslon control, work item, TFS) 一、你在各類開發平臺(web, linux, PC, mobile, machine learning) 都使用過什麼樣的工具 二、本身寫過什麼工具來改進工做效率? 三、給社區貢獻過什麼工具和代碼? 四、 Github有分享代碼麼? 五、你寫的技術博客堅持了多久,讀者最多的是哪一篇? |
一、不曉得編譯環境算不算得上呀 二、沒有本身寫過工具 三、沒有給社區貢獻過什麼工具和代碼 四、沒有使用github 五、學習java時寫過一學期,再次接觸就是此次的軟工了,讀者最多的一篇不是由於質量好,而是由於提交的早 |
團隊協做 | Work with others (協同工做,提供反饋, 說服別人) 一、請描述你在項目中如何說服同伴採用你提出的更好的解決方案,或者你如何聽取,了別人的意見,改進了本身的方案? 二、你如何說服懶惰的同伴加緊工做,實現團隊的目標? |
一、有想法的時候就會提出來,若是你們都以爲好就會認同這個idea,不認同的話我會聽別人的意見,肯定本身的想法確實存在不夠好的地方 二、在團隊中咱們是約定好時間一塊兒辦事的,實在沒辦法一塊兒參與的就會自行安排時間,而且在這個團隊中我發現個人同伴都是比我要勤快的 |
理論素養 | 你上過什麼數學,計算機或其餘理論課,請舉出具體的例子,說明你學到的理論知識如何幫助你解決實際問題。 | 數學這門課好像沒發如今實際中有什麼用處,計算機的課程主要是教你一種編程的思想,這種思想在實際中是能夠通用的,很培養人的耐心啊 |
自我管理 | 一、整年級你專業排名多少? 二、你從剛入學(大學年級)到如今的排名有變化麼? 三、如何解釋你的排名的變化? |
一、2030左右吧 二、沒什麼變化啊,都差很少 |
瞭解?請結合本身提出的問題進行回答html
Q1:前端
單元測試必須由最熟悉代碼的人(程序的做者)來寫。
測試的運行、經過、失敗不依賴於別的測試,能夠人爲構造數據,以保持單元測試的獨立性。
--引用自《構建之法-第二版》java
答:在alpha階段的開發中,其實咱們並無精力去進行什麼單元的測試,咱們直接在微信開發平臺裏面編寫直接調試,而且沒有進行什麼代碼的構思,固然這也是由於在此次的開發中沒有用到而已,在以後的項目中我以爲代碼測試仍是特別有必要的,而且是在你完成一部分功能就進行測試爲好,由於那樣子纔不會對你以後的進程有牽絆。總體的代碼須要在一開始就有一個大概的構思,而後進行模塊的劃分,不要邊寫邊研究,會很亂linux
Q2:git
主治醫師模式:首席程序員負責處理主要模塊的設計和編碼,其餘成員從各個角度支持他的工做(後備程序員、系統管理員、工具開發、編程語言專家、業務專家)。
業餘劇團模式:團隊在每個項目中,不一樣的人會挑選不一樣的角色,在下一個劇目中,這些人也許會換一個徹底不一樣的角色類型,我的在團隊中遵從一箇中央指揮的指導和安排。
交響樂隊模式:傢伙多,門類齊全,演奏都靠譜,同時看指揮。
--引用自《構建之法-軟件團隊的模式》程序員
答:其實每一個團隊都有他們獨特的團隊模式,全部幾乎沒有哪種特別固定的什麼主治醫師模式仍是交響樂隊模式能夠一以歸納的,而且這個和團隊成員之間的協做力、調度力、執行力都有很大的關係github
Q3:web
敏捷開發的原則:
一、儘早並持續的交付有價值的軟件以知足顧客需求;
...
五、以有進取心的人爲項目核心,充分支持信任他們;
...
十二、時時總結如何提升團隊效率,並付諸行動。
--引用自《構建之法-敏捷流程》面試
答:咱們團隊在敏捷開發的原則上能夠說是完美的詮釋了「以有進取心的人爲核心,而且充分的信任他們」這一原則,由於在一個團隊中你會發現PM的帶動做用是特別強大的,充分的信任是必須作到的,而且不是說一昧的苟同觀點,而是對一系列任務的安排都必須嚴格的按她說的進行,若是有什麼問題上須要商量的能夠提出來你們一塊兒解決算法
Q4:
功能的定位和優先級
殺手功能:OCR文字識別技術,能夠在屏幕上取詞解釋,擁有獨家權威詞典;
外圍功能:良好的界面設計,在各個平臺上都能運行;
必要需求:單詞的短語釋義的準確性;
輔助需求:能夠作各類皮膚;
功能分析的四個象限可讓咱們決定怎麼處理不一樣類型的功能,重要的是,傾斜到能夠產生差別化和獨特用戶價值的地方。
--引用自《構建之法-需求分析》
答:考慮殺手功能的前提之上自己就是創建在你肯定了用戶人羣了,肯定一個項目的同時就已經很天然的肯定了這個項目所面向的人羣。
Q5:
分而治之
一個團隊項目要在一段時間內完成諸多任務,知足用戶的需求,實現團隊的目標,同時還但願項目能維持良好的技術架構,從哪裏入手?
--引用自《構建之法-WBS》
答:用意是爲了避免讓咱們團隊在項目開發的過程當中偏離軌道,從結果出發去構建WBS樹能更好的創建一個好的出發點。工做包的最小的葉子節點,即便是再細小的任務也應當作爲葉子節點。
敏捷流程第三步:衝刺
--引用自《構建之法P107》
兩人合做:
兩個工程師在一塊兒,作的最多的事情就是「看代碼」
--引用自《構建之法P59》
-在實際的開發過程當中,我發現課本上不少知識理論和團隊理念彷佛都沒有用到咱們實際的開發中去,博客是一直進行,也一直在教咱們運用書本,但是好像變成了一種交付式的任務,想問一下這個是否是咱們的課題選的不夠很好的將實踐與理論相結合?仍是說是咱們的時間不夠充足去體會這個過程
軟件測試:
-引用自《構建之法P270》
MSF
保持敏捷,預期和適應變化