@面試

Stories List
@renzhendezicai

Android Kotlin中使用 LiveData、ViewModel快速實現MVVM模式

本文首發於公眾號“AntDream”,歡迎微信搜索“AntDream”或掃描文章底部二維碼關注,和我一起每天進步一點點 使用 Kotlin 實現 MVVM(Model-View-ViewModel)模式是開發 Android 應用程序的一種常見架構方式。MVVM 模式將應用程序的 UI 邏輯和業務邏輯分離,使用 LiveData、ViewModel 和 DataBinding 可以使代碼更加模塊化

renzhendezicai Avatar

@renzhendezicai

Nickname 認真的紫菜

@tuihou123321

前端面試寶典:移動端核心知識篇

前言: 想系統學習前端面試題,強烈推薦瀏覽 在線電子書(支持手機版,不斷更新) 。 本書特點:系統全面(涵蓋前端核心技術點),簡潔,針對性強(針對面試場景設計)。 歡迎在github上留言反饋 移動端 移動端高清屏適配方案? 幾個要解決的重要問題: 佈局 字體大小 1px邊框 高清圖 參考資料: 移動端高清屏適配方案 移動端尺寸單位? px: 絕對長度單位, rem:相對長度單位,相對

tuihou123321 Avatar

@tuihou123321

Nickname tuihou123321

@winnn

拼多多海外電商Java開發面試覆盤

今天帶來我的好友健哥面試拼多多海外電商Java崗的一個覆盤 前言 大家好,我是健哥。今天跟大家覆盤一下自己面試拼多多的一個情況。我投的是拼多多的海外電商部門Java崗,大家其實也知道現在這個互聯網的大環境不太好,拼多多算是HC比較多的,現在還在大規模招人的一家公司。海外電商可以説是整個拼多多未來的一個經濟增長點或者説是整個拼多多最看好的或者説寄厚望的一個業務。 拼多多的面試主要是兩輪技術面加上一輪

winnn Avatar

@winnn

Nickname Winn

@jianghushinian

如何基於 Go 語言設計一個簡潔優雅的分佈式任務系統

在當今雲計算與微服務盛行的時代,分佈式任務系統已成為支撐大規模業務的核心基礎設施。今天就來為大家分享下如何基於 Go 語言從零設計和實現一個架構簡潔且擴展性強的分佈式任務系統。 前置概念 本文會設計並實現一個分佈式任務系統,這裏我們要先明確兩個概念。 分佈式:在我們將要實現的分佈式任務系統中,分佈式是指我們的服務可以部署多個副本,這樣才能確保服務更加穩定。 任務:這裏的任務是指異步任務,可能

jianghushinian Avatar

@jianghushinian

Nickname 江湖十年

@bygpt

【FE TIKU 前端面試題庫】性能優化

本文首發 http://fetiku.com/docs/advanc... 1 DNS 預解析 DNS 解析也是需要時間的,可以通過預解析的方式來預先獲得域名所對應的 IP link rel="dns-prefetch" href="//shudong.wang" 2 緩存 緩存對於前端性能優化來説是個很重要的點,良好的緩存策略可以降低資源的重複加載提高網頁的整體加載速度 通常瀏覽器緩

bygpt Avatar

@bygpt

Nickname ByGPT

@java_3y

面試官就是要問我SpringMVC的源碼,頂不住!

《對線面試官》系列目前已經連載22篇啦!有深度風趣的系列! 【對線面試官】Java註解 【對線面試官】Java泛型 【對線面試官】 Java NIO 【對線面試官】Java反射 動態代理 【對線面試官】多線程基礎 【對線面試官】 CAS 【對線面試官】synchronized 【對線面試官】AQSReentrantLock 【對線面試官】線程池 【對線面試官】ThreadL

java_3y Avatar

@java_3y

Nickname Java3y

@xpoet

零基礎入門 JavaScript 算法

前言 提及算法,可能會有很多前端同學覺得這是一個距離自己日常工作較遠的領域,認為算法並沒有那麼重要。事實上,這種看法是片面的,算法不僅僅是計算機科學中的一個重要概念,在前端開發中也有着廣泛的應用和巨大的價值。 一個精心設計的算法可以大幅度提高應用的性能和效率,例如:如何在大量數據中快速找到指定信息、如何高效地處理用户輸入、如何在動畫效果中保持流暢的用户體驗、如何讓頁面加載更快、響應更靈敏等等場景,

xpoet Avatar

@xpoet

Nickname XPoet

@jianghushinian

Go 併發控制:sync.WaitGroup 詳解

首發地址:https://mp.weixin.qq.com/s/-FtDLcHW39vgvqSMUVM-yw 前段時間我在《Go 併發控制:errgroup 詳解》一文中講解了 errgroup 的用法和源碼,通過源碼我們知道 errgroup 內部是使用 sync.WaitGroup 實現的,那麼本文就更進一步,來探索下 sync.WaitGroup 源碼是如何實現的。 使用示例 sync.Wa

jianghushinian Avatar

@jianghushinian

Nickname 江湖十年

@jianghushinian

Go 併發控制:sync.Map 詳解

我們知道,Go 中的 map 類型是非併發安全的,所以 Go 就在 sync 包中提供了 map 的併發原語 sync.Map,允許併發操作,本文就帶大家詳細解讀下 sync.Map 的原理。 使用示例 sync.Map 提供了基礎類型 map 的常用功能,使用示例如下: package main import ( "fmt" "sync" ) func main() {

jianghushinian Avatar

@jianghushinian

Nickname 江湖十年

@jianghushinian

Go 併發編程:如何實現一個併發安全的 map

上週發佈的文章「Go 併發控制:sync.Map 詳解」有讀者反饋説我寫的太難了,上來就挑戰源碼,對新手不夠友好。所以這篇文章算作補充,從入門到進階的順序講解一下在 Go 中如何自己實現一個併發安全的 map。 內置 map 首先,我們來測試一下 Go 語言內置 map 併發安全性,示例如下: https://github.com/jianghushinian/blog-go-example/tr

jianghushinian Avatar

@jianghushinian

Nickname 江湖十年

@jianghushinian

在 Go 中如何使用分佈式鎖解決併發問題?

在分佈式系統中,協調多個服務實例之間的共享資源訪問是一個經典的挑戰。傳統的單機鎖(如 sync.Mutex)無法實現跨進程工作,此時就需要用到分佈式鎖了。本文將介紹 Go 語言生態中基於 Redis 實現的分佈式鎖庫 redsync,並探討其使用方法和實現原理。 分佈式鎖 首先我們來探討下為什麼需要分佈式鎖?當我們編寫的程序出現資源競爭的時候,就需要使用互斥鎖來保證併發安全。而我們的服務很有可能不

jianghushinian Avatar

@jianghushinian

Nickname 江湖十年

@jianghushinian

Go 源碼是如何解決測試代碼循環依賴問題的?

公眾號首發地址:https://mp.weixin.qq.com/s/j5vKNxl2keMF7oPT5M0XnA 最近我寫了一篇講解 context 包源碼的文章《Go 併發控制:context 源碼解讀》,在閲讀源碼的過程中,我在 context 包測試代碼中發現了一個解決循環依賴的小技巧,在此分享給大家。 x_test.go 解決循環依賴 context 包源碼目錄結構如下: https:/

jianghushinian Avatar

@jianghushinian

Nickname 江湖十年

@flydean

Java併發Map的面試指南:線程安全數據結構的奧秘

簡介 在計算機軟件開發的世界裏,多線程編程是一個重要且令人興奮的領域。然而,與其引人入勝的潛力相伴而來的是複雜性和挑戰,其中之一就是處理共享數據。當多個線程同時訪問和修改共享數據時,很容易出現各種問題,如競態條件和數據不一致性。 本文將探討如何在Java中有效地應對這些挑戰,介紹一種強大的工具——併發Map,它能夠幫助您管理多線程環境下的共享數據,確保數據的一致性和高性能。我們將深入瞭解Java中

flydean Avatar

@flydean

Nickname flydean

@finally_m

Java靈魂拷問13個為什麼,你都會哪些?

大家好,我是 V 哥。今天看了阿里雲開發者社區關於 Java 的靈魂拷問,一線大廠在用 Java 時,都會考慮哪些問題呢,對於工作多年,又沒有大廠經歷的小夥伴不妨看看,V 哥總結的這13個為什麼,你都會哪些?先贊後看,絕不擺爛。 1. 為什麼禁止使用 BigDecimal 的 equals 方法做等值比較? BigDecimal 的 equals 方法在等值比較時存在一些問題,通常不建議直接使用它

finally_m Avatar

@finally_m

Nickname 威哥愛編程

@renzhendezicai

一個Android App最少有幾個線程?實現多線程的方式有哪些?

本文首發於公眾號“AntDream”,歡迎微信搜索“AntDream”或掃描文章底部二維碼關注,和我一起每天進步一點點 多線程編程是Android應用開發中非常重要的一個環節,可以有效地提升應用的性能和用户體驗。下面是對Android中多線程相關內容的詳細介紹,包括app最少有幾個線程。 1. 基本概念 主線程(UI線程): Android應用啓動時,操作系統會啓動一個主線程,主線程負責更新U

renzhendezicai Avatar

@renzhendezicai

Nickname 認真的紫菜

@ntksol

再談愚蠢的「八股文」面試

今天,在文章《純「牛馬」的邏輯玩兒不轉了!》開頭提到的那個微信羣中,看到有人發了張圖片: 正如上面提到的文章中所「噴」的那樣,以「八股文」為主的技術一面根本沒有存在的必要,彰顯出那些用人單位對招聘方法的不思進取。 他們的不思進取,一方面導致自己有較高的招聘成本,找到合適的人的效率十分低下;另一方面,也促使應聘者不思進取,不注重自己平時的積累沉澱,靠臨時抱佛腳來謀求一個工作機會。 我推崇工匠精神,

ntksol Avatar

@ntksol

Nickname 歐雷

@dalideshoushudao

面試背誦版:23種設計模式 + 六大設計原則 + 面試高頻問答

一、設計模式的來源 設計模式(Design Pattern)是前輩們對代碼開發經驗的總結,是解決特定問題的一系列套路。它不是語法規定,而是一套用來提高代碼可複用性、可維護性、可讀性、穩健性以及安全性的解決方案。 1995 年,GoF(Gang of Four,四人組/四人幫)合作出版了《設計模式:可複用面向對象軟件的基礎》一書,共收錄了 23 種設計模式,從此樹立了軟件設計模式領域的里程碑,人稱

dalideshoushudao Avatar

@dalideshoushudao

Nickname 聽風

@jianghushinian

使用 Uber automaxprocs 正確設置 Go 程序線程數

公眾號首發地址:https://mp.weixin.qq.com/s/5wrYaHXBpuN0WxKAaNNp-A 我們知道 Go 語言沒有直接對用户暴露線程的概念,而是通過 goroutine 來控制併發。不過,在 Go 程序啓動時,其背後的調度器往往是多線程運行的。在 Go 語言的 GMP 調度模型中,P 決定着同時運行的 goroutine 數,我們可以通過環境變量 GOMAXPROCS 或

jianghushinian Avatar

@jianghushinian

Nickname 江湖十年

@ailvyoudetiebanshao

2025最好的Next.js面試題(一)

2025最好的Next.js面試題(一) 最近在面試,就寫一些關於問到的面試題,同時也過一下知識點。 基礎概念 什麼是Next.js?它與React的關係是什麼? Next.js是一個基於React的全棧開發框架,由Vercel開發和維護。它在React的基礎上提供了額外的功能和優化,如服務器組件(Server Components)、流式渲染(Streaming)、服務器操作(Server Ac

ailvyoudetiebanshao Avatar

@ailvyoudetiebanshao

Nickname 溪抱魚

@jianghushinian

Go 語言中你不知道的 io.Discard 妙用

公眾號首發:https://mp.weixin.qq.com/s/no995DjgiS3muyPSt2QhUg 在 Go 語言中,io.Discard 是一個實現了 io.Writer 接口的特殊變量,用於丟棄所有寫入的數據。 io.Discard 在 Go 1.15 及之前版本中是放在 io/ioutil 包中實現的。而在 Go 1.16 版本,得以正式轉正,被實現在 io 包中。本文我們來一起

jianghushinian Avatar

@jianghushinian

Nickname 江湖十年

@ailvyoudetiebanshao

Next.js 面試深入剖析緩存機制

決勝 Next.js 面試:深入剖析緩存機制 1. 引言:為何 Next.js 中的緩存如此重要? Next.js 通過其精密的緩存系統,極大地提升了應用程序的性能、降低了服務器負載,並通過提供預先計算的結果或數據來最小化運營成本。 對於任何期望構建優化應用的開發者而言,深入理解這些緩存層是至關重要的。 在技術面試中,對 Next.js 緩存機制的掌握程度,往往能體現出開發者對 Nex

ailvyoudetiebanshao Avatar

@ailvyoudetiebanshao

Nickname 溪抱魚

@ailvyoudetiebanshao

為什麼選擇React-native

本文總結: 🔹 運行機制 React Native 的運行機制基於兩個線程之間的通信(JavaScript 線程和 Native 線程),通過 Bridge(橋) 實現數據交互。🌉這使得 JS 邏輯與原生界面可以協同工作,實現流暢體驗。 🔹 優勢 👍 學習成本低,JavaScript 和 React 開發者可以快速上手 滿足大部分產品需求,適用於多數中小型 App 代碼

ailvyoudetiebanshao Avatar

@ailvyoudetiebanshao

Nickname 溪抱魚

@jianghushinian

在 Go 語言中如何實現協程池

公眾號首發:https://mp.weixin.qq.com/s/Xbk4QF7HFll102xaF5r_3Q 如果你熟悉 Java、Python 等編程語言,那麼你一定聽説或者使用過進程池或線程池。因為進程和線程不是越多越好,過多的進程或線程可能造成資源浪費和性能下降。所以池化技術在這些主流編程語言中非常流行,可以有效控制併發場景下資源使用量。 而 Go 語言則沒有提供多進程和多線程的支持,僅提

jianghushinian Avatar

@jianghushinian

Nickname 江湖十年