前段時間,一位朋友問了小林一些問題,類似訪談式的提問,主要是關于寫文章之類的事情,我覺得對一些讀者會有幫助,所以重新整理了下。
大家好,先簡單做個自我介紹,我是非科班出身,通過自學的方式,拿到了BATTMD多家和微軟offer。今天給大家分享一下自己的算法的經(jīng)驗。
有了內(nèi)存,為什么還需要 CPU Cache?CPU 是怎么讀寫數(shù)據(jù)的?如何讓 CPU 能讀取數(shù)據(jù)更快一些?CPU 偽共享是如何發(fā)生的?又該如何避免?CPU 是如何調(diào)度任務的?如果你的任務對響應要求很高,你希望它總是能被先調(diào)度,這該怎么辦?
叮。。。。。美團來電。這次不是外賣而是電話面試。所報崗位為后端/服務端開發(fā),但是從我的復盤來看,這和 Java 后端開發(fā)的內(nèi)容差不多,除了部分的語言特性外,還是四大件基礎知識為重,下面我們來看看都問了啥,小心下次面你的時候就有這些問題哦~
數(shù)據(jù)結(jié)構(gòu)這門課程是計算機相關專業(yè)的基礎課,數(shù)據(jù)結(jié)構(gòu)指的是數(shù)據(jù)在計算機中的存儲、組織方式。我們在學習數(shù)據(jù)結(jié)構(gòu)時候,會遇到各種各樣的基礎數(shù)據(jù)結(jié)構(gòu),比如堆棧、隊列、數(shù)組、鏈表、樹...這些基本的數(shù)據(jù)結(jié)構(gòu)類型有各自的特點,不同數(shù)據(jù)結(jié)構(gòu)適用于解決不同場景下的問題。
今天的主題十分有趣,我們將在我的世界(Minecraft)這個游戲里,靠一個個邏輯門來組合實現(xiàn)一個簡單的七段顯示器,可以實現(xiàn)將選擇的數(shù)字輸出在顯示器上。
隨著時間的推移,CPU和內(nèi)存的訪問性能相差越來越大,于是就在CPU內(nèi)部嵌入了CPU Cache(高速緩存),CPU Cache離CPU核心相當近,因此它的訪問速度是很快的,于是它充當了CPU與內(nèi)存之間的緩存角色。
作為一名后端工程師,工作中你肯定和 Redis 打過交道。Redis 為什么快,這點想必你也知道,至少為了面試也做過準備。很多人知道 Redis 快僅僅因為它是基于內(nèi)存實現(xiàn)的,對于其它原因倒是模棱兩可。
小林寫這么多篇圖解文章,你們猜我收到的最多的讀者問題是什么?沒錯,就是問我是使用什么畫圖工具,看來對這一點大家都相當好奇,那干脆不如寫一篇介紹下我是怎么畫圖的。
想進大廠,Mysql不會那可不行,來接受Mysql面試挑戰(zhàn)吧,看看你能堅持到哪里?
代碼都是由CPU跑起來的,我們代碼寫的好與壞就決定了CPU的執(zhí)行效率,特別是在編寫計算密集型的程序,更要注重CPU的執(zhí)行效率,否則將會大大影響系統(tǒng)性能。
回不去的故鄉(xiāng)逐漸成了他鄉(xiāng),但國既是家,程序員是有力量的一批人,星星之火可以燎原,無論身處何方,拼搏奮斗的程序員都可以作出一番成績,成為家鄉(xiāng)的驕傲,致敬IT人!
機械硬盤、固態(tài)硬盤、內(nèi)存這三個存儲器,到底和CPU L1 Cache相比速度差多少倍?
此次B站服務端開發(fā)面試之旅可謂驚險,不過通過對大部分面試題套路的掌握,不出意外還是拿下了,下面我們來看看這些騷題是不是常見的不能再常見的了。
代碼寫了那么多,你知道a=1+2這條代碼是怎么被CPU執(zhí)行的嗎? 軟件用了那么多,你知道軟件的32位和64位之間的區(qū)別嗎?再來32位的操作系統(tǒng)可以運行在64位的電腦上嗎?64位的操作系統(tǒng)可以運行在32位的電腦上嗎?如果不行,原因是什么?