日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 人文社科 > 生活经验 >内容正文

生活经验

github后端开发面试题大集合(一)

發(fā)布時(shí)間:2023/11/27 生活经验 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 github后端开发面试题大集合(一) 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

作者:小海膽
鏈接:https://www.nowcoder.com/discuss/3614?type=0&order=0&pos=5&page=0?from=wb
來(lái)源:牛客網(wǎng)

轉(zhuǎn)載自github,中文--->鏈接在這,英文---->鏈接在這 文章較長(zhǎng),我把它拆分了三個(gè)部分。 第二篇,請(qǐng)戳這里 第三篇,請(qǐng)戳這里

1.通用問(wèn)題:

  • 語(yǔ)言設(shè)計(jì)中空引用(null reference)的存在有什么問(wèn)題?假設(shè)你想要將空引用的概念從你的首選語(yǔ)言中移除,可能導(dǎo)致什么結(jié)果?
  • 為什么函數(shù)式編程重要?什么時(shí)候適用函數(shù)式語(yǔ)言?
  • 設(shè)計(jì)(design)、架構(gòu)(architecture)、功能(functionality)和美學(xué)(aesthetic)之間有什么區(qū)別?討論一下。
  • 微軟、谷歌、歐朋(opera)和火狐這類公司是如何從他們的瀏覽器中獲利的?
  • 為什么打開(kāi)TCP套接字有很大的開(kāi)銷?
  • 封裝的重要性體現(xiàn)在哪兒?
  • 什么是實(shí)時(shí)系統(tǒng)?它與普通系統(tǒng)有什么區(qū)別?
  • 實(shí)時(shí)語(yǔ)言(real-time language)和堆內(nèi)存分配(heap memory allocation)之間的關(guān)系是什么?
  • 不變性(Immutability)是指: (變量的)值只能在創(chuàng)建的時(shí)候被設(shè)置一次,之后就不能被改變。為什么不變性對(duì)寫(xiě)更加安全的代碼有幫助?
  • 可變值(mutable values)和不可變值(immutable values)有哪些優(yōu)缺點(diǎn)?
  • 什么是O/R阻抗失衡(Object-Relational impedence mismatch)?
  • 如果你需要使用緩存,你使用哪些原則來(lái)確定緩存的大小?
  • TCP和HTTP有什么區(qū)別?
  • 在客戶端渲染(client-side rendering)和服務(wù)端渲染(server-side rendering)之間,你是如何權(quán)衡的?
  • 如何在一個(gè)不可靠的協(xié)議之上構(gòu)建一個(gè)可靠的通信協(xié)議?


2.開(kāi)放式問(wèn)題:

  • 為什么人們會(huì)抵制變化?
  • 如何向你的祖母解釋什么是線程?
  • 作為一個(gè)軟件工程師,你想要既要有創(chuàng)新力,又要產(chǎn)出具有可預(yù)測(cè)性。采用什么策略才能使這兩個(gè)目標(biāo)可以共存呢?
  • 什么是好的代碼?
  • 解釋什么是流(Streaming)和如何實(shí)現(xiàn)一個(gè)流?
  • 假設(shè)你的公司給你一周的時(shí)間,用來(lái)改善你和同事的生活: 你將如何使用這一周?
  • 本周你學(xué)了什么?
  • 所有的設(shè)計(jì)中都會(huì)有美學(xué)元素(aesthetic element)的存在。問(wèn)題是,你認(rèn)為美學(xué)元素是你的朋友還是敵人?
  • 列出最近你讀過(guò)的5本書(shū)。
  • How would you introduce Continue Delivery in a multi million waterfall shop?
  • 我們來(lái)談?wù)?#34;重復(fù)造輪子","非我發(fā)明癥", "吃自己做出來(lái)的狗糧"的這些做法吧。

(注: 重復(fù)造輪子: Reinventing the wheel; 非我發(fā)明癥:Not Invented Here Syndrome; 吃自己做出來(lái)的狗糧: Eating Your Own Dog Food)

  • 在你當(dāng)前的工作流中,什么事情是你計(jì)劃下一步需要自動(dòng)化的?
  • 為什么寫(xiě)軟件是困難的?是什么使軟件的維護(hù)變得困難?
  • 你更喜歡在全新項(xiàng)目(Green Field Project)上工作還是在已有項(xiàng)目(Brown Field Project)基礎(chǔ)上工作?為什么?
  • 當(dāng)你在瀏覽器地址欄輸入google.com回車之后都發(fā)生了什么?
  • What does your computer do when you wait?
  • 如何向一個(gè)5歲的孩子解釋什么是Unicode/數(shù)據(jù)庫(kù)事務(wù)?
  • 如何維護(hù)單體架構(gòu)(monolithic architecture)?
  • 一個(gè)"專業(yè)的開(kāi)發(fā)者"意味著什么?
  • 軟件開(kāi)發(fā)是藝術(shù)、是技藝還是工程?你的觀點(diǎn)是什么?
  • "喜歡這個(gè)的人也喜歡...",如何在一個(gè)電子商務(wù)商店里實(shí)現(xiàn)這種功能?
  • 為什么在創(chuàng)新上,企業(yè)會(huì)比創(chuàng)業(yè)公司慢些?


3.設(shè)計(jì)模式相關(guān)問(wèn)題:

  • 請(qǐng)用一個(gè)例子表明,全局對(duì)象是邪惡的存在。
  • 假設(shè)你工作的系統(tǒng)不支持事務(wù)性,你會(huì)如何從頭開(kāi)始實(shí)現(xiàn)它?
  • 什么是好萊塢原則(Hollywood Principles)?
  • 關(guān)于迪米特法則(最少知識(shí)原則): 寫(xiě)一段代碼違反它, 然后修復(fù)它。

(注: 迪米特法則:the Law of Demeter, 最少知識(shí)原則: the Principle of Least Knowledge)

  • Active-Record模式有什么限制和缺陷?
  • Data-Mapper模式和Active-Record模式有什么區(qū)別?
  • 空對(duì)象模式(Null Object Pattern)的目的是什么?
  • 為什么組合(Composition)比繼承(Inheritance)更好?
  • 什么是反腐敗層(Anti-corruption Layer)?
  • 你可以寫(xiě)一個(gè)線程安全的單例(Singleton)類嗎?
  • Could you implement Objects in terms of Higher Order Functions, and vice-versa?
  • 數(shù)據(jù)抽象(Data Abstraction)能力是指能改變實(shí)現(xiàn)而不影響客戶端的這種能力。請(qǐng)構(gòu)造一個(gè)一個(gè)例子,違反這個(gè)特性,并且嘗試修復(fù)它。
  • 你是如何處理依賴關(guān)系地獄(Dependency Hell)的?
  • 為什么說(shuō)goto語(yǔ)句是惡魔般的存在?


4.?代碼設(shè)計(jì)相關(guān)問(wèn)題:

  • What is the tests influence on design?
  • 內(nèi)聚和耦合的區(qū)別是什么?
  • 重構(gòu)在哪些場(chǎng)景下有用?
  • 代碼中的注釋有用嗎?
  • 設(shè)計(jì)和架構(gòu)有什么區(qū)別?
  • 為什么在測(cè)試驅(qū)動(dòng)開(kāi)發(fā)(TDD)中是先寫(xiě)測(cè)試,再寫(xiě)代碼?
  • C++支持多繼承,Java允許類實(shí)現(xiàn)多個(gè)接口。這些特性對(duì)正交性有什么影響?使用多繼承和使用多接口有區(qū)別嗎?[這個(gè)問(wèn)題來(lái)自Andrew .Hunt 和 David Thomas寫(xiě)的《程序員修煉之道》]


5.?語(yǔ)言相關(guān)問(wèn)題:

  • 告訴我你的首選語(yǔ)言的三個(gè)最壞的缺陷。
  • 為什么現(xiàn)在函數(shù)式編程這么越來(lái)越受關(guān)注?
  • 閉包是什么?它有什么用途?閉包和類有什么共同點(diǎn)?
  • 泛型有什么用途?
  • 什么是高階函數(shù)?有什么用途?用你的首選語(yǔ)言寫(xiě)個(gè)例子出來(lái)。
  • 討論一下,如何寫(xiě)一個(gè)循環(huán),然后把它轉(zhuǎn)換成遞歸函數(shù),要避免易變性。
  • 有些語(yǔ)言將函數(shù)視為第一公民,這是什么意思?
  • 用一個(gè)例子說(shuō)明匿名函數(shù)是有用的。
  • 什么是動(dòng)態(tài)方法調(diào)度(Dynamic Method Dispatch)?
  • 名字空間(Namespace)有什么用?有什么可以替代它的嗎?
  • 談?wù)凧ava和C#之間的互操作性(Interoperability) (任選其他兩門(mén)語(yǔ)言都行)
  • 為什么很多軟件工程師不喜歡Java?
  • 你認(rèn)為好的語(yǔ)言好在哪里?差的語(yǔ)言差在哪里?
  • 寫(xiě)兩個(gè)函數(shù),一個(gè)是"引用透明的(Referentially Transparent)",另一個(gè)是"引用不透明的(Referentially Opaque)"。討論之。
  • 什么是棧?什么是堆?
  • 為什么一個(gè)語(yǔ)言中,"函數(shù)是第一公民"是很重要的?
  • 模式匹配(Pattern Matching)和Switch語(yǔ)句(Switch clauses)的區(qū)別在哪兒?
  • 為什么有些語(yǔ)言設(shè)計(jì)上沒(méi)有異常機(jī)制?這有什么優(yōu)缺點(diǎn)?
  • 如果Cat是一個(gè)Animal, 那么TaskCare<Cat>是一個(gè)TakeCare<Animal>嗎?

轉(zhuǎn)載于:https://www.cnblogs.com/wuer888/p/7656859.html

總結(jié)

以上是生活随笔為你收集整理的github后端开发面试题大集合(一)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。