中電金信-杭州工商銀行|面試真題|2024年

中電金信-杭州工商銀行

  1. JAva集合用過哪些?

    • ArrayList、LinkedList、HashSet、TreeSet、HashMap、LinkedHashMap、ConcurrentHashMap
  2. Arraylist和linkbist區別

    • ArrayList底層是數據,查詢快,增刪慢,線程不安全,效率高
    • LikedList 底層是雙向鏈表,查詢慢,增刪快,線程不安全,效率高
    • Vector:底層數組,查詢快,增刪慢,線程安全
  3. hashmap和Hashset的區別,以及査詢時問復雜度?

  • HashMap實現了Map接,存儲是key,value結構,key不能重復,value可以重復。
  • HashSet實現了Set接口,存儲是對象,單列結構,不能重復。
  • 都是基于散列函數, 時間復雜度 O(1) 但是如果太差的話是桶內元素小于6個O(n),大雨8個O(logN)
  • TreeSet==>O(log(n))
  1. 他們是線程安全的嗎 ? 如果讓你改成線程安全的會怎么做?

  • 1、使用線程安全的集合ConcurrentHashMap
    • 使用volatile修飾節點數組,保證其可見性,禁止指令重排。
    • 做插入操作時,首先進入樂觀鎖,
      然后,在樂觀鎖中判斷容器是否初始化,
      如果沒初始化則初始化容器,
      如果已經初始化,則判斷該hash位置的節點是否為空,如果為空,則通過CAS操作進行插入。
      如果該節點不為空,再判斷容器是否在擴容中,如果在擴容,則幫助其擴容。
      如果沒有擴容,則進行最后一步,先加鎖,然后找到hash值相同的那個節點(hash沖突),
      循環判斷這個節點上的鏈表,決定做覆蓋操作還是插入操作。
      循環結束,插入完畢。
    • ConcurrentHashMapget()方法是不加鎖的,為什么可以不加鎖?因為tablevolatile關鍵字修飾,保證每次獲取值都是最新的。
  • 2、使用集合工具類 Collections.synchronizedList
  1. 對鎖有了解嗎?synchronized和Lock的區別是什么?

? 有了解,鎖的分類有公平鎖,非公平/可重入鎖,不可重入鎖/單機鎖,分布式鎖/悲觀鎖,樂觀鎖

  • Synchronized 無法判斷獲取鎖的狀態,Lock 可以判斷是否獲取到了鎖

  • synchronized 內置的Java關鍵字,Lock 是一個Java類

  • Synchronized 會自動釋放鎖, Lock 必須要手動釋放鎖,如果不釋放鎖,死鎖

  • Synchronized 可重入鎖不可以中斷的,非公平;Lock 可重入鎖,可以判斷鎖,可以自己設置是否公平。

  1. 多線程有用過嗎?創建線程的方式有哪些?怎么啟動線程?

  • 有用過,每日報表
  • 繼承Thread,實現Runnable重寫run方法,實現Callable類重寫Call方法。
  • 啟動線程使用start方法來啟動,線程池是使用submit和exceute方法提交
  1. 數據庫優化有做過嗎?比如:S0L性能調優,分析思路和過程?

  • explain關鍵字
  1. redis有了解嗎?分布式鎖的實現,常用的數據類型有哪些?

    • String,zset,set,hash,list
  2. 分布式項目中的事務控制怎么做的?

    1.2PC 2.本地消息表 3.3PC 4.TCC 5.消息事務+最終一致性

  3. 你們開發自測怎么做的?

    參考:單元測試、測試案例要覆蓋

覆蓋測試,單元測試*,聯調測試*,常見錯誤集合,最后測試統一測試壓測

不同的關鍵字通過相同的哈希函數計算出相同的哈希地址

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

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

相關文章

【概率論三】參數估計:點估計(矩估計、極大似然法)、區間估計

文章目錄 一. 點估計1. 矩估計法2. 極大似然法2.1. 似然函數2.2. 極大似然估計法 3. 評價估計量的標準3.1. 無偏性3.2. 有效性3.3. 一致性 二. 區間估計1. 區間估計的概念2. 正態總體參數的區間估計 參數估計講什么 由樣本來確定未知參數參數估計分為點估計與區間估計 一. 點估…

算法:二叉樹相關

目錄 題目一:單值二叉樹 題目二:二叉樹的最大深度 題目三:相同的樹 題目四:對稱二叉樹 題目五:另一棵樹的子樹 題目六:二叉樹的前序遍歷 題目七:二叉樹遍歷 題目八:根據二叉…

linux搭建mysql主從復制(一主一從)

目錄 0、環境部署 1、主服務器配置 1.1 修改mysql配置文件 1.2 重啟mysql 1.3 為從服務器授權 1.4 查看二進制日志坐標 2、從服務器配置 2.1 修改mysql配置文件 2.2 重啟mysql 2.3 配置主從同步 2.4 開啟主從復制 3、驗證主從復制 3.1 主服務器上創建test…

微服務拆分流程 (黑馬商城拆分商品服務)

1. 創建新module - maven模塊,并引入依賴(可以復制 把不需要的依賴刪掉 ) 2. 新建包com.hmall.xx(業務名),添加和修改啟動類,新建mapper包、domain包 - service包 - controller包 3. 拷貝并修…

4款良心軟件,免費又實用,內存滿了都舍不得卸載

以下幾款高質量軟件,若是不曾體驗,實在是遺憾可惜。 PDF Guru 這是一款開源免費的PDF編輯軟件,打開之后功能一目了然。 可以拆分、合并PDF,也可以給PDF添加水印和密碼,同時也可以去除別人PDF里的水印或密碼&#xff0…

HouseCrafter:平面草稿至3D室內場景的革新之旅

在室內設計、房地產展示和影視布景設計等領域,將平面草稿圖快速轉換為立體的3D場景一直是一個迫切的需求。HouseCrafter,一個創新的AI室內設計方案,正致力于解決這一挑戰。本文將探索HouseCrafter如何將這一過程自動化并提升至新的高度。 一、定位:AI室內設計的革新者 Ho…

Scala之OOP講解

Scala OOP 前序 Scala 為純粹OOP1、不支持基本類型:一切皆為對象 Byte,Int,...2、不支持靜態關鍵字:static 3、支持類型推斷【通過判斷泛型的父子關系來確定泛型類的父子關系>協變,逆變,不變】和類型預定, 動靜…

【iOS】類對象的結構分析

目錄 對象的分類object_getClass和class方法isa流程和繼承鏈分析isa流程實例驗證類的繼承鏈實例驗證 類的結構cache_t結構bits分析實例驗證屬性properties方法methods協議protocolsro類方法 類結構流程圖解 對象的分類 OC中的對象主要可以分為3種:實例對象&#xf…

【React】JSX基礎

一、簡介 JSX是JavaScript XML的縮寫,它是一種在JavaScript代碼中編寫類似HTML模板的結構的方法。JSX是React框架中構建用戶界面(UI)的核心方式之一。 1.什么是JSX JSX允許開發者使用類似HTML的聲明式模板來構建組件。它結合了HTML的直觀性…

TDesign組件庫日常應用的一些注意事項

【前言】Element(餓了么開源組件庫)在國內使用的普及率和覆蓋率高于TDesign-vue(騰訊開源組件庫),這也導致日常開發遇到組件使用上的疑惑時,網上幾乎搜索不到其文章解決方案,只能深挖官方文檔或…

2024.7.17 ABAP面試題目總結

2024.7.17 用的SAP什么平臺,S4/HANA嗎,有用過ECC嗎 S4/HANA,沒用過ECC 會不會CDS VIEW 不會 會不會FIORI 不會 銀企直連里面的邏輯了解不 不了解,做過,但是只能算很簡單的修改 SAP做增強,如何創建…

網絡安全-網絡安全及其防護措施7

31.防病毒和惡意軟件保護 防病毒和惡意軟件防護的定義和作用 防病毒和惡意軟件防護是一種保護計算機和網絡免受病毒、木馬、間諜軟件等惡意軟件侵害的安全措施。通過防護措施,可以檢測、阻止和清除惡意軟件,確保系統和數據的安全。其主要作用包括&…

C++右值引用和移動語義

目錄 概念: 左值引用和右值引用 概念: 注意: 左值引用的意義 作函數參數 函數引用返回 右值引用的意義 誕生背景 移動構造 移動賦值 其他應用 萬能引用和完美轉發 默認的移動構造和移動賦值 概念: 左值:顧…

List數據的幾種數據輸出方式

一、問題引入 在Java中&#xff0c;查詢List集合是一項常見的任務&#xff0c;它可以通過多種方式實現&#xff0c;以滿足不同的需求。下面&#xff0c;List數據的幾種數據輸出方式。 二、實例 /*** 查詢所有用戶信息* return*/ List<User> getAllUser(); <select…

Git【撤銷遠程提交記錄】

在實際開發中&#xff0c;你是否遇到過錯誤的提交了代碼&#xff0c;想要刪掉本次提交記錄的情況&#xff0c;你可以按照如下方法實現。 1、使用 git revert 如果你想要保留歷史記錄&#xff0c;并且對遠程倉庫其他使用者的影響最小&#xff0c;你可以使用 git revert 命令。這…

conda 使用

首先要安裝Miniconda的環境 下面是一下命令關于如何使用conda 查看當前環境列表&#xff1a; conda env list 創建環境不指定路徑&#xff1a; conda create --name p38 python3.8 創建新環境并指定路徑&#xff1a; conda create --prefix /data/p38 python3.8激活新環境&a…

VulnHub:CK00

靶場搭建 靶機下載地址&#xff1a;CK: 00 ~ VulnHub 下載后&#xff0c;在vmware中打開靶機。 修改網絡配置為NAT 處理器修改為2 啟動靶機 靶機ip掃描不到的解決辦法 靶機開機時一直按shift或者esc直到進入GRUB界面。 按e進入編輯模式&#xff0c;找到ro&#xff0c;修…

Kubernetes網絡性能測試-calico插件環境

Kubernetes 網絡性能測試-calico插件環境 本次主要針對calico網絡插件k8s集群的網絡性能進行摸底及測試方法探索實踐。 1. 測試準備 1.1 測試環境 測試環境為VMware Workstation虛擬機搭建的一套K8S環境&#xff0c;版本為1.28.2&#xff0c;網絡插件使用calico&#xff0c…

6Python的Pandas:數據讀取與輸出

Pandas是一個強大的Python數據分析庫&#xff0c;提供了讀取和輸出數據的多種功能。以下是一些常見的數據讀取與輸出方法&#xff1a; 1. 讀取CSV 讀取數據 從CSV文件讀取數據 import pandas as pd# 讀取CSV文件 df pd.read_csv(file_path.csv) print(df.head())從Excel文…

Flutter 狀態管理調研總結

一, 候選狀態管理組件簡介 0. flutter_hooks 一個 React 鉤子在 Flutter 上的實現&#xff1a;Making Sense of React Hooks 鉤子是一種用來管理 Widget 生命周期的新對象&#xff0c;以減少重復代碼、增加組件間復用性&#xff0c;允許將視圖邏輯提取到通用的用例中并重用&…