字節一面:后端開發

前言

這是我字節一面的回憶錄,可能有些不全。

由于博主是Java面試Go崗,操作系統和計網問的還是比較多。

個人感覺字節很喜歡追問,博主被追問拷打的找不到北了,總結還是學的太淺了。

面試官給我的建議:再更深挖一些。

如果感覺對你有幫助,請點點關注點點贊吧,謝謝你!

1?八股

1.1 操作系統

線程和進程講解

線程如何通信(區分進程的通信)

線程通信

? 進程通信

虛擬地址如何找到物理地址

1.2 計算機網絡

IP報文組成(格式)(區分TCP和UDP報文)

IP報文(最后其實還有數據)(下面展示的是頭部信息)

TCP頭部格式

UDP頭部

子網掩碼的作用(舉例說明)(有待補充,我有點忘了,去學習一下在補充)

子網掩碼不能單獨存在,它必須結合IP地址一起使用。IP地址我們都知道是計算機在網絡內的唯一標識,而子網掩碼顧名思義是用于劃分子網的。

子網掩碼只有一個作用,就是將某個IP地址劃分成網絡地址和主機地址兩部分。

子網掩碼是一個32位地址,用于屏蔽IP地址的一部分以區別網絡標識和主機標識,并說明該IP地址是在局域網上,還是在遠程網上。

tcp的可靠性(我當時回答的三次握手和四次揮手的實現方式)

四次揮手為什么一定是四次(其實就是中間兩次揮手能不能合一)

1.3 Java相關內容

我的另外的博客要細致一些

Java集合相關面試題-CSDN博客

JVM相關面試題-CSDN博客

Java后端線程面試筆記-CSDN博客

volatile關鍵字的作用(追問:為什么可以實現線程間的可見性)

泛型的作用 (追問:除了通用之外還有其他的作用嘛)

其他作用

synchronized關鍵字的作用 (追問:可以重入嘛)

更細致的看:Java后端線程面試筆記-CSDN博客? ?的2.1部分

重量級不可以,在輕量級和偏向鎖里面都可以重入

注解的工作原理 (追問:編譯時生效嘛)

Java中的注解(Annotation)是一種為代碼添加元數據的機制,本身不會直接影響代碼邏輯,但可以通過特定的處理工具(如編譯器、框架或自定義處理器)來觸發行為。以下是其工作原理的詳細說明:

多線程開發如何實現

創建線程的方法:四種

Java后端線程面試筆記-CSDN博客?1.3、3

講一下多態

1.4 數據庫

?常用的redis的數據結構? (追問:底層實現:String的底層)

大廠面試-redis-CSDN博客

追問:底層實現:String的底層

redis的原子性如何實現(追問:可以回滾嘛,多條redis如何實現原子性,可以回滾嘛)

單條命令的原子性

可以回滾嗎:不可以
多條redis如何實現原子性

可以回滾,如果內部命令執行失敗就會回滾

但是在Lua里面要先預判可以成功嗎,預判失敗直接不執行

如果Lua在執行中某個命令失敗了,那么成功的不能回滾,失敗的不在執行

mysql事務的四大特征

大廠面試:MySQL篇_mysql 大廠面試題-CSDN博客

2. 算法題

2.1 k等分多邊形

題目描述(數據不是很記得了)

給定一個固定的多邊形,給定坐標,多邊形數據如下:

現在輸入k,將多邊形邊長分成等長的k段

求出k1到k8的坐標

思路

0.求出多邊形周長len

1.找到每個點分的長度:例如第二個點就是:length=(len/k)*(i-1)

2.從第一個(T1)點出發,往下個點走:例如 T1-t2

3.如果|T1-T2|>=length,說明這個點在這條直線上,直接可以求出 坐標

4.如果|T1-T2|<length,說明這個點不在在這條直線上,length-=|T1-T2|,在往下一個點走T2-T3

5.重復2-4,但是為啥補找到上一個分界點,往下走呢,有精度損失。

例子

輸入:13

輸出

代碼

import java.util.Scanner;public class Main {public static void main(String[] args) {//多邊形點的坐標,把第一個點還要加入最后,方便計算double[][] T={{10,20},{20,20},{20,30},{40,30},{40,20},{50,20},{50,5},{10,5},{10,20}};//計算多邊形的邊長,初始化節點double len=0;Node[] nodes=new Node[T.length-1];for (int i = 0; i < T.length-1; i++) {int index=T[i][0]==T[i+1][0]?1:0;nodes[i]=new Node(T[i][0],T[i][1],index==1?'y':'x',T[i][index]>T[i+1][index]?'-':'+',Math.abs(T[i][index]-T[i+1][index]));len+=nodes[i].len;}//輸入KScanner in=new Scanner(System.in);int k=in.nextInt();double kLen=len/k;//計算每一份for(int i=1;i<=k;i++){//每個點離起點T1的位置double length=kLen*(i-1);double x=0,y=0;//記錄每個分界點的坐標for(int j=0;j<nodes.length;j++){if(nodes[j].len>=length){//在這條線上if(nodes[j].c=='x'){x=nodes[j].x+(nodes[j].d=='+'?length:-length);y=nodes[j].y;}else{x=nodes[j].x;y=nodes[j].y+(nodes[j].d=='+'?length:-length);}break;}else{length-=nodes[j].len;}}System.out.println("K"+i+"("+x+","+y+")");}}
}
class Node{public double x;public double y;public char c;// 'x'  'y'public char d;//+,-public double len;//與下個節點的長度public Node() {}public Node(double x, double y, char c, char d, double len) {this.x = x;this.y = y;this.c = c;this.d = d;this.len = len;}
}

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/79072.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/79072.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/79072.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

快速掌握大語言模型+向量數據庫_RAG實現

一、前言 結合前面掌握的vLLM部署Qwen7B模型、通過Embedding模型&#xff08;bdg-large-zh模型&#xff09;提取高質量作文內容并預先存儲到Milvus向量數據庫中&#xff0c;我們很容易實現RAG方案進一步提高寫作內容的生成質量。 本篇要實現的目標是&#xff1a;通過FlaskAPI…

【FreeRTOS-列表和列表項】

參照正點原子以及以下gitee筆記整理本博客&#xff0c;并將實驗結果附在文末。 https://gitee.com/xrbin/FreeRTOS_learning/tree/master 一、列表和列表項的簡介(熟悉) 1、什么是列表 答&#xff1a;列表是FreeRTOS中的一個數據結構&#xff0c;概念上和鏈表有點類似&#…

【c++】【STL】queue詳解

目錄 queue的作用什么是容器適配器queue的接口構造函數emptysizefrontback queue類的實現 queue的作用 queue是stl庫提供的一種容器適配器&#xff0c;也就是我們數據結構中學到的隊列&#xff0c;是非常常用的數據結構&#xff0c;特點是遵循LILO&#xff08;last in last ou…

【一】 基本概念與應用領域【數字圖像處理】

考綱 文章目錄 1 概念2005甄題【名詞解釋】2008、2012甄題【名詞解釋】可考題【簡答題】可考題【簡答題】 2 應用領域【了解】2.1 伽馬射線成像【核醫學影像】☆2.2 X射線成像2.3 紫外波段成像2.4 可見光和紅外波段成像2.5 微波波段成像2.6 無線電波段成像2.7 電子顯微鏡成像2…

RAG技術完全指南(一):檢索增強生成原理與LLM對比分析

RAG技術完全指南&#xff08;一&#xff09;&#xff1a;檢索增強生成原理與LLM對比分析 文章目錄 RAG技術完全指南&#xff08;一&#xff09;&#xff1a;檢索增強生成原理與LLM對比分析1. RAG 簡介2. 核心思想3. 工作流程3.1 數據預處理&#xff08;索引構建&#xff09;3.2…

對計網考研中的信道、傳輸時延、傳播時延的理解

對計網考研中的信道、傳輸時延、傳播時延的理解 在學習數據鏈路層流量控制和可靠傳輸那一節的三個協議的最大信道利用率時產生的疑惑 情景&#xff1a; 假如A主機和B主機通過集線器連接&#xff0c;A和集線器是光纖連接&#xff0c;B和集線器也是光纖連接&#xff0c;A給B發…

【2025五一數學建模競賽C題】社交媒體平臺用戶分析問題|建模過程+完整代碼論文全解全析

你是否在尋找數學建模比賽的突破點&#xff1f;數學建模進階思路&#xff01; 作為經驗豐富的美賽O獎、國賽國一的數學建模團隊&#xff0c;我們將為你帶來本次數學建模競賽的全面解析。這個解決方案包不僅包括完整的代碼實現&#xff0c;還有詳盡的建模過程和解析&#xff0c…

使用 Spring Boot Actuator 實現應用實時監控

1. 引言 1.1 什么是 Spring Boot Actuator Spring Boot Actuator 是 Spring Boot 提供的一組生產級功能模塊,用于幫助開發者對 Spring Boot 應用進行監控和管理。它提供了一系列 REST API 端點(Endpoints),可以獲取應用程序的運行狀態、健康檢查、度量指標等信息。 這些…

2025MathorCup數學應用挑戰賽B題

目錄 模型建立與求解 1.問題一的模型建立與求解 1.1 搬遷補償模型設計 1.2 住戶是否搬遷的應對策略與分析 1.3 定量討論 2.問題二的模型建立與求解 2.1 搬遷方案模型的優化介紹 2.2 模型的評估 2.3 模型結果 3.問題三的模型建立與求解 3.1 拐點存在性分析模型的建立 3.2 模型的…

西門子數字化研發設計制造一體化規劃案例P87(87頁PPT)(文末有下載方式)

資料解讀&#xff1a;《西門子數字化研發設計制造一體化規劃案例》 詳細資料請看本解讀文章的最后內容。 該文檔圍繞西門子為企業打造的智能化制造研發工藝生產一體化平臺規劃方案展開&#xff0c;全面闡述了從業務現狀分析到項目實施及案例分享的整個過程。 業務現狀與需求分析…

stm32基礎001(串口)

文章目錄 通信的基本概念串行通信和并行通信單工&#xff0c;半雙工和全雙工串口的硬件連接 stm32的串口原理圖CPU的芯片手冊stm32串口的庫函數實現通過串口實現printf函數使用中斷實現串口的接收 通信的基本概念 串行通信和并行通信 串行通信一個方向只有一個數據通道&#x…

【驗證技能】文檔要求和好文檔注意點

項目文檔 產品場景分析&#xff1b; 產品規格需求&#xff1a;OR&#xff1b; 項目設計需求&#xff1a;DR&#xff1b; 業務文檔&#xff1a;學發材料&#xff1b; 計劃 項目執行計劃&#xff0c;設計計劃&#xff0c;驗證計劃&#xff0c;一~四級計劃&#xff1b; 一級計…

使用 CarrierWave 通過 AWS S3上傳文件到阿里云 OSS

雖然阿里云 OSS 與 AWS S3 兼容&#xff0c;但需要使用阿里云的特定端點進行配置。CarrierWave 是一個流行的 Ruby 文件上傳庫&#xff0c;可以方便地與 AWS S3 集成。以下是配置和使用方法&#xff1a; 1. 安裝必要的 gem 首先&#xff0c;在 Gemfile 中添加以下 gem&#x…

上位機知識篇---流水線執行

文章目錄 前言前言 本文簡單介紹了流水線. 基本概念 流水線(Pipeline) 是一種通過將任務分解為多個子任務(階段),并讓不同子任務并行執行以提高效率的技術。其靈感來源于工業流水線,每個階段專注于特定操作,多任務在不同階段重疊執行,從而提升整體吞吐率(Throughput)…

第三部分:賦予網頁靈魂 —— JavaScript(下)

目錄 7 DOM 操作&#xff1a;控制網頁的"智能面板7.1 小例子&#xff1a;點擊按鈕時改變段落文字&#xff0c;根據用戶輸入改變圖片7.2 練習&#xff1a;實現一個簡單的 Tab 切換效果 8 事件處理&#xff1a;響應用戶的"指令"8.1 小例子&#xff1a;實現點擊按鈕…

芯片軟錯誤概率探究:基于汽車芯片安全設計視角

摘要&#xff1a; 本文深入剖析了芯片軟錯誤概率問題&#xff0c;結合 AEC-Q100 與 IEC61508 標準&#xff0c;以 130 納米工藝 1Mbit RAM 芯片為例闡述其軟錯誤概率&#xff0c;探討汽車芯片安全等級劃分及軟錯誤對汽車關鍵系統的影響&#xff0c;分析先進工藝下軟錯誤變化趨勢…

嵌入式AI還是一片藍海

發現其實還是挺多人關注嵌入式和人工智能交叉領域的&#xff0c;隨便一個問題&#xff0c;瀏覽量就27萬了&#xff0c;但是這方面的內容確實少得可憐……所以干脆我自己來補點干貨。 推薦一本最近很熱門的新書——《邊緣人工智能&#xff1a;用嵌入式機器學習解決現實問題》。 …

Linux 怎么安裝 Oracle Java 8

在 Linux 系統上安裝 Oracle Java 8 的步驟如下&#xff1a; 1. 下載 Oracle Java 8 訪問 Oracle 官方網站的 Java 下載頁面&#xff1a; 下載鏈接&#xff1a;Oracle Java 8 下載頁面選擇適合 Linux x64 的安裝包&#xff08;通常是 .tar.gz 格式&#xff09;。需要登錄 Or…

nginx配置集群服務器中的tcp負載均衡器

文章目錄 前言1. Ubuntu下nginx安裝2. nginx的tcp負載配置 前言 假設一臺機器支持兩萬的并發量&#xff0c;現在我們需要保證八萬的并發量。首先想到的是升級服務器的配置&#xff0c;比如提高 CPU 執行頻率&#xff0c;加大內存等提高機器的物理性能來解決此問題。但是單臺機…

【音視頻】RTMP流媒體服務器搭建、推流拉流

服務器&#xff1a;SRS(Simple RTMP Server&#xff0c;?持RTMP、HTTP-FLV&#xff0c;HLS) 推流端&#xff1a;ffmpeg OBS 拉流端&#xff1a;ffplay VLC srs播放器 1 安裝和測試srs流媒體服務器 1.1 安裝srs流媒體服務器 srs官?&#xff1a;https://github.com/ossrs/…