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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

百度现场面试:JVM+算法+Redis+数据库!(三面)| CSDN博文精选

發布時間:2024/8/23 数据库 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 百度现场面试:JVM+算法+Redis+数据库!(三面)| CSDN博文精选 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
戳藍字“CSDN云計算”關注我們哦! 作者 |??中琦2513 轉自 | CSDN博客 責編 | 阿禿 百度一面(現場)
  • 自我介紹

  • Java中的多態

  • 為什么要同時重寫hashcode和equals

  • Hashmap的原理

  • Hashmap如何變線程安全,每種方式的優缺點

  • 垃圾回收機制

  • Jvm的參數你知道的說一下

  • 設計模式了解的說一下

  • 手撕一個單例模式

  • 算法題目

  • 手撕算法:反轉單鏈表

  • 手撕算法:實現類似微博子結構的數據結構,輸入一系列父子關系,輸出一個類似微博評論的父子結構圖

  • 手寫java多線程

  • 手寫java的soeket編程,服務端和客戶端

  • 手撕算法:

    爬樓梯,寫出狀態轉移方程

  • 智力題:

    時針分針什么時候重合

百度二面(現場)
  • 自我介紹

  • 項目介紹

  • 服務器如何負載均衡,有哪些算法,哪個比較好,一致性哈希原理,怎么避免DDOS攻擊請求打到少數機器?

  • TCP連接中的三次握手和四次揮手,四次揮手的最后一個ack的作用是什么,為什么要time wait,為什么是2msl?

  • 數據庫的備份和恢復怎么實現的,主從復制怎么做的,什么時候會出現數據不一致,如何解決?

  • Linux查看cpu占用率高的進程

  • 手撕算法:給定一個數字三角形,找到從頂部到底部的最小路徑和。每一步可以移動到下面一行的相鄰數字上。

  • 然后繼續在這個問題上擴展

  • 求出最短那條的路徑

  • 遞歸求出所有的路徑

  • 設計模式講一下熟悉的

  • 會不會濫用設計模式?

  • 多線程條件變量為什么要在while體里?

  • 你遇到什么挫折,怎么應對和處理?

百度三面(現場)
  • 自我介紹

  • 項目介紹

  • Redis的特點

  • Redis的持久化怎么做,aof和rdb,有什么區別,有什么優缺點?

  • Redis使用哨兵部署會有什么問題?【我說需要擴容的話還是得集群部署。】

  • 說一下JVM內存模型把,有哪些區,分別干什么的?

  • 說一下gc算法,分代回收說下

  • MySQL的引擎講一下,有什么區別,使用場景呢?

  • 分布式事務了解么?

  • 反爬蟲的機制,有哪些方式?


阿里中間件(四面)
Java中間件一面

技術一面考察范圍:

  • 重點問了Java線程鎖:synchronized 和ReentrantLock相關的底層實現

  • 線程池的底層實現以及常見的參數

  • 數據結構基本都問了一遍,鏈表、隊列等

  • Java內存模型:常問的JVM分代模型,以及JDK1.8后的區別,最后還問了JVM相關的調優參數

  • 分布式鎖的實現比較


技術一面題目:

1:自我介紹 2:擅長哪方面的技術? 3;java有哪些鎖中類?(樂觀鎖&悲觀鎖、可重入鎖&Synchronize等) 4:比較重要的數據結構,如鏈表,隊列,棧的基本原理及大致實現 5:J.U.C下的常見類的使用。Threadpool的深入考察;blockingQueue的使用 6:Java內存分代模型,GC算法,JVM常見的啟動參數;CMS算法的過程 7:Volatile關鍵字有什么用(包括底層原理)? 8:線程池的調優策略 9:Spring cloud的服務注冊與發現是怎么設計的? 10:分布式系統的全局id如何實現 11:分布式鎖的方案,redis和zookeeper那個好,如果是集群部署,高并發情況下那個性能更好?
Java中間件二面
技術二面考察范圍:

  • 問了項目相關的技術實現細節

  • 數據庫相關:

    索引、索引底層實現、mysql相關的行鎖、表鎖等

  • redis相關:

    架構設計、數據一致性問題

  • 容器:容器的設計原理等


技術二面題目:

  • 參與的項目,選一個,技術難度在哪里?

  • Collections.sort底層排序方式

  • 負載均衡的原理

  • 設計模式與重構,談談你對重構的理解

  • 談談redis相關的集群有哪些成熟方案?

  • 再談談一致hash算法(redis)

  • 數據庫索引,B+樹的特性和建樹過程

  • Mysql相關的行鎖,表鎖、樂觀鎖、悲觀鎖

  • 談談多線程和并發工具的使用

  • 談談redis的架構和組件

  • Redis的數據一致性問題(分布式多節點環境&單機環境)

  • Docker容器?

Java中間件三面
技術三面考察范圍:

  • 主要談到了高并發的實現方案

  • 以及中間件:

    redis、rocketmq、kafka等的架構設計思路

  • 最后問了平時怎么提升技術的


技術三面題目:

  • 高并發情況下,系統是如何支撐大量的請求的?

  • 接著上面的問題,延伸到了中間件,kafka、redis、rocketmq、mycat等設計思路和適用場景等

  • 最近上過哪些技術網站?最近再看哪些書?

  • 工作和生活中遇見最大的挑戰,怎么去克服?

  • 未來有怎樣的打算

Java中間件四面
最后,你懂的,主要就是HR走流程了,主要問了未來的職業規劃。

螞蟻中間件團隊面試題 螞蟻中間件一面
  • 自我介紹

  • JVM垃圾回收算法和垃圾回收器有哪些,最新的JDK采用什么算法?

  • 新生代和老年代的回收機制

  • 講一下ArrayList和linkedlist的區別,ArrayList與HashMap的擴容方式

  • Concurrenthashmap1.8后的改動

  • Java中的多線程,以及線程池的增長策略和拒絕策略了解么?

  • Tomcat的類加載器了解么?

  • Spring的ioc和aop,Springmvc的基本架構,請求流程

  • HTTP協議與Tcp有什么區別,http1.0和2.0的區別?

  • Java的網絡編程,講講NIO的實現方式,與BIO的區別,以及介紹常用的NIO框架

  • 索引什么時候會失效變成全表掃描?

  • 介紹下分布式的paxos和raft算法

螞蟻中間件二面
  • 你在項目中怎么用到并發的?

  • 消息隊列的使用場景,談談Kafka

  • 你說了解分布式服務,那么你怎么理解分布式服務?

  • Dubbo和Spring Clound的區別,以及使用場景

  • 講一下docker的實現原理,以及與JVM的區別

  • MongoDB、Redis和Memcached的應用場景,各自優勢

  • MongoDB有事務嗎?

  • Redis說一下sorted set底層原理

  • 講講Netty為什么并發高,相關的核心組件有哪些?

螞蟻中間件三面
  • 完整的畫一個分布式集群部署圖,從負載均衡到后端數據庫集群

  • 分布式鎖的方案,Redis和Zookeeper哪個好,如果是集群部署,高并發情況下哪個性能更好?

  • 分布式系統的全局id如何實現?

  • 數據庫萬級變成億級,你如何來解決?

  • 常見的服務器雪崩是由什么引起的,如何來防范?

  • 異地容災怎么實現?

  • 常用的高并發技術解決方案有哪些,以及對應的解決步驟?

2019年頭條抖音Java (三面)
一面:

  • hashmap,怎么擴容,怎么處理數據沖突?怎么高效率的實現數據遷移?

  • Linux的共享內存如何實現,大概說了一下

  • socket網絡編程,說一下TCP的三次握手和四次揮手

  • 同步IO和異步IO的區別?

  • Java GC機制?GC Roots有哪些?

  • 紅黑樹講一下,五個特性,插入刪除操作,時間復雜度?

  • 快排的時間復雜度,最壞情況呢,最好情況呢,堆排序的時間復雜度呢,建堆的復雜度是多少?

二面:

  • 自我介紹,主要講講做了什么和擅長什么

  • 設計模式了解哪些?

  • AtomicInteger怎么實現原子修改的?

  • ConcurrentHashMap 在Java7和Java8中的區別?為什么Java8并發效率更好?什么情況下用HashMap,什么情況用ConcurrentHashMap?

  • redis數據結構?

  • redis數據淘汰機制?

三面(約五十分鐘):

  • mysql實現事務的原理(MVCC)

  • MySQL數據主從同步是如何實現的?

  • MySQL索引的實現,innodb的索引,b+樹索引是怎么實現的,為什么用b+樹做索引節點,一個節點存了多少數據,怎么規定大小,與磁盤頁對應?

  • 如果Redis有1億個key,使用keys命令是否會影響線上服務?

  • Redis的持久化方式,aod和rdb,具體怎么實現,追加日志和備份文件,底層實現原理的話知道么?

  • 遇到最大困難是什么?怎么克服?

  • 未來的規劃是什么?

  • 你想問我什么?

美團內推:java高級開發(一面+二面+三面)!

美團一面(電話)

  • 自我介紹

  • 項目介紹

  • Redis介紹

  • 了解redis源碼么?

  • 了解redis集群么?

  • Hashmap的原理,增刪的情況后端數據結構如何位移?

  • hashmap容量為什么是2的冪次?

  • hashset的源碼

  • object類你知道的方法

  • hashcode和equals

  • 你重寫過hashcode和equals么,要注意什么?

  • 假設現在一個學生類,有學號和姓名,我現在hashcode方法重寫的時候,只將學號參與計算,會出現什么情況?

  • 往set里面put一個學生對象,然后將這個學生對象的學號改了,再put進去,可以放進set么?并講出為什么

  • Redis的持久化?有哪些方式,原理是什么?

  • 講一下穩定的排序算法和不穩定的排序算法

  • 講一下快速排序的思想

美團二面(現場)
  • 自我介紹

  • 講一下數據的acid

  • 什么是一致性?

  • 什么是隔離性?

  • Mysql的隔離級別

  • 每個隔離級別是如何解決?

  • Mysql要加上nextkey鎖,語句該怎么寫?

  • Java的內存模型,垃圾回收

  • 線程池的參數

  • 每個參數解釋一遍

  • 然后面試官設置了每個參數,給了是個線程,讓描述出完整的線程池執行的流程

  • Nio和IO有什么區別

  • Nio和aio的區別

  • Spring的aop怎么實現

  • Spring的aop有哪些實現方式

  • 動態代理的實現方式和區別

  • Linux了解么?

  • 怎么查看系統負載?

  • Cpu load的參數如果為4,描述一下現在系統處于什么情況

  • Linux,查找磁盤上最大的文件的命令

  • Linux,如何查看系統日志文件

  • 手撕算法:leeetcode原題 22,Generate Parentheses,給定 n 對括號,請寫一個函數以將其生成新的括號組合,并返回所有組合結果。

美團三面(現場)
三面沒怎么問技術,問了很多技術管理方面的問題。
  • 自我介紹

  • 項目介紹

  • 怎么管理項目成員?

  • 當意見不一致時,如何溝通并說服開發成員,并舉個例子

  • 怎么保證項目的進度?

  • 數據庫的索引原理

  • 非聚簇索引和聚簇索引

  • 索引的使用注意事項

  • 聯合索引

  • 從底層解釋最左匹配原則

  • Mysql對聯合索引有優化么?會自動調整順序么?哪個版本開始優化?

  • Redis的應用

  • Redis的持久化的方式和原理

  • 技術選型,一個新技術和一個穩定的舊技術,你會怎么選擇,選擇的考慮有哪些

  • 說你印象最深的美團點評技術團隊的三篇博客

  • 最近在學什么新技術?

  • 你是怎么去接觸一門新技術的?

  • 會看哪些書?

  • 怎么選擇要看的書?

京東4面(Java研發)
一面(基礎面:約1小時)
  • 自我介紹,主要講講做了什么和擅長什么

  • springmvc和spring-boot區別

  • @Autowired的實現原理

  • Bean的默認作用范圍是什么?其他的作用范圍?

  • 索引是什么概念有什么作用?MySQL里主要有哪些索引結構?哈希索引和B+樹索引比較?

  • Java線程池的原理?線程池有哪些?線程池工廠有哪些線程池類型,及其線程池參數是什么?

  • hashmap原理,處理哈希沖突用的哪種方法?

  • 還知道什么處理哈希沖突的方法?

  • Java GC機制?GC Roots有哪些?

  • Java怎么進行垃圾回收的?什么對象會進老年代?垃圾回收算法有哪些?為什么新生代使用復制算法?

  • HashMap的時間復雜度?HashMap中Hash沖突是怎么解決的?鏈表的上一級結構是什么?Java8中的HashMap有什么變化?紅黑樹需要比較大小才能進行插入,是依據什么進行比較的?其他Hash沖突解決方式?

  • hash和B+樹的區別?分別應用于什么場景?哪個比較好?

  • 項目里有個數據安全的,aes和md5的區別?詳細點

二面(問數據庫較多)
  • 自我介紹

  • 為什么MyISAM查詢性能好?

  • 事務特性(acid)

  • 隔離級別

  • SQL慢查詢的常見優化步驟?

  • 說下樂觀鎖,悲觀鎖(select for update),并寫出sql實現

  • TCP協議的三次握手和四次揮手過程?

  • 用到過哪些rpc框架

  • 數據庫連接池怎么實現

  • Java web過濾器的生命周期

三面(綜合面,約一個小時)
  • 自我介紹

  • ConcurrentHashMap 在Java7和Java8中的區別?為什么Java8并發效率更好?什么情況下用HashMap,什么情況用ConcurrentHashMap?

  • 加鎖有什么機制?

  • ThreadLocal?應用場景?

  • 數據庫水平切分,垂直切分的設計思路和切分順序

  • Redis如何解決key沖突?

  • soa和微服務的區別?

  • 單機系統演變為分布式系統,會涉及到哪些技術的調整?請從前面負載到后端詳細描述

  • 設計一個秒殺系統?

四面(HR面)
1.你自己最大優勢和劣勢是什么 2.平時遇見過什么樣的挑戰,怎么去克服的 3.工作中遇見了技術解決不了的問題,你的應對思路? 4.你的興趣愛好? 5.未來的職業規劃是什么?
頭條Java后臺3面

頭條一面
1.講講jvm運行時數據庫區 2.講講你知道的垃圾回收算法 3.jvm內存模型jmm 4.內存泄漏與內存溢出的區別 5.select、epool 的區別?底層的數據結構是什么? 6.mysql數據庫默認存儲引擎,有什么優點 7.優化數據庫的方法,從sql到緩存到cpu到操作系統,知道多少說多少 8.什么情景下做分表,什么情景下做分庫 9.linkedList與arrayList區別 適用場景 10.array list是如何擴容的 11.volatile 關鍵字的作用?Java 內存模型? 12.java lock的實現,公平鎖、非公平鎖 13.悲觀鎖和樂觀鎖,應用中的案例,mysql當中怎么實現,java中的實現

頭條二面
  • Java 內存分配策略?多個線程同時請求內存,如何分配?

  • Redis 底層用到了哪些數據結構?使用 Redis 的 set 來做過什么?

  • Redis 使用過程中遇到什么問題?搭建過 Redis 集群嗎?

  • 如何分析“慢查詢”日志進行 SQL/索引 優化?

  • MySQL 索引結構解釋一下?(B+ 樹)

  • MySQL Hash 索引適用情況?舉下例子?

頭條三面
  • 如何保證數據庫與redis緩存一致的

  • Redis 的并發競爭問題是什么?如何解決這個問題?了解 Redis 事務的 CAS 方案嗎?

  • 如何保證 Redis 高并發、高可用?

  • Redis 的主從復制原理,以及Redis 的哨兵原理?

  • 如果讓你寫一個消息隊列,該如何進行架構設計啊?說一下你的思路。

  • MySQL數據庫主從同步怎么實現?

  • 秒殺模塊怎么設計的,如何壓測,抗壓手段?


今日頭條Java后臺研發三面

一面


  • concurrent包下面用過哪些?

  • countdownlatch功能實現

  • synchronized和lock區別,重入鎖

  • thread和runnable的區別

  • AtomicInteger實現原理(CAS自旋)

  • java并發sleep與wait、notify與notifyAll的區別

  • 如何實現高效的同步鏈表

  • java都有哪些加鎖方式(synchronized、ReentrantLock、共享鎖、讀寫鎖等)

  • 設計模式(工廠模式、單例模式(幾種情況)、適配器模式、裝飾者模式)

  • maven依賴樹,maven的依賴傳遞,循環依賴

二面
  • synchronized和reentrantLock的區別,synchronized用在代碼快、方法、靜態方法時鎖的都是什么?

  • 介紹spring的IOC和AOP,分別如何實現(classloader、動態代理)

  • JVM的內存布局以及垃圾回收原理及過程講一下,講一下CMS垃圾收集器垃圾回收的流程,以及CMS的缺點

  • redis如何處理分布式服務器并發造成的不一致

  • OSGi的機制

  • spring中bean加載機制,bean生成的具體步驟,ioc注入的方式

  • spring何時創建applicationContext

  • listener是監聽哪個事件?

  • 介紹ConcurrentHashMap原理,用的是哪種鎖,segment有沒可能增大?

  • 解釋mysql索引、b樹,為啥不用平衡二叉樹、紅黑樹

  • Zookeeper如何同步配置

三面
  • Java線程池ThreadPoolEcecutor參數,基本參數,使用場景

  • MySQL的ACID講一下,延伸到隔離級別

  • dubbo的實現原理,說說RPC的要點

  • GC停頓原因,如何降低停頓?

  • JVM如何調優、參數怎么調?

  • 如何用工具分析jvm狀態(visualVM看堆中對象的分配,對象間的引用、是否有內存泄漏,jstack看線程狀態、是否死鎖等等)

  • 描述一致性hash算法(Redis)

  • 分布式雪崩場景如何避免?

  • 再談談消息隊列





福利 掃描添加小編微信,備注“姓名+公司職位”,入駐【CSDN博客】,加入【云計算學習交流群】,和志同道合的朋友們共同打卡學習!


推薦閱讀:

總結

以上是生活随笔為你收集整理的百度现场面试:JVM+算法+Redis+数据库!(三面)| CSDN博文精选的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。