自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

比亞迪面試,全程八股!

開發(fā) 后端
如果應聘者的能力一般,那么通常面試官就會問一下簡單的問題,然后早早結束面試;但如果應聘者的能力比較好,面試官通常會問的比較難,以此來探尋應聘者的技術能力邊界,從而為后續(xù)的定薪、定崗來做準備,所以大家如果遇到迪子的面試也不要大意。

比亞迪最近幾年憑借著其新能源汽車的板塊大火了一把,無論是名聲還是股價都漲得嘎嘎猛,但是迪子招聘編程技術崗位的人員卻有兩個特點:

  1. 面試難度低,對學校有一定的要求。
  2. 薪資給的和面試難度一樣低。

但不管怎么,迪子也算是國內知名公司了,所以今天咱們來看看,他的校招 Java 技術崗的面試題都問了哪些知識點?面試題目如下:

1、int和Integer有什么區(qū)別?

參考答案:int 和 Integer 都是 Java 中用于表示整數(shù)的數(shù)據(jù)類型,然而他們有以下 6 點不同:

  • 數(shù)據(jù)類型不同:int 是基礎數(shù)據(jù)類型,而 Integer 是包裝數(shù)據(jù)類型;
  • 默認值不同:int 的默認值是 0,而 Integer 的默認值是 null;
  • 內存中存儲的方式不同:int 在內存中直接存儲的是數(shù)據(jù)值,而 Integer 實際存儲的是對象引用,當 new 一個 Integer 時實際上是生成一個指針指向此對象;
  • 實例化方式不同:Integer 必須實例化才可以使用,而 int 不需要;
  • 變量的比較方式不同:int 可以使用 == 來對比兩個變量是否相等,而 Integer 一定要使用 equals 來比較兩個變量是否相等;
  1. 泛型使用不同:Integer 能用于泛型定義,而 int 類型卻不行。

2、什么時候用 int 和 Integer?

參考答案:int 和 Integer 的典型使用場景如下:

  • Integer 典型使用場景:在 Spring Boot 接收參數(shù)的時候,通常會使用 Integer 而非 int,因為 Integer 的默認值是 null,而 int 的默認值是 0。如果接收參數(shù)使用 int 的話,那么前端如果忘記傳遞此參數(shù),程序就會報錯(提示 500 內部錯誤)。因為前端不傳參是 null,null 不能被強轉為 0,所以使用 int 就會報錯。但如果使用的是 Integer 類型,則沒有這個問題,程序也不會報錯,所以 Spring Boot 中 Controller 接收參數(shù)時,通常會使用 Integer。
  • int 典型使用場景:int 常用于定義類的屬性類型,因為屬性類型,不會 int 不會被賦值為 null(編譯器會報錯),所以這種場景下,使用占用資源更少的 int 類型,程序的執(zhí)行效率會更高。

3、HashMap 底層實現(xiàn)?

HashMap 在 JDK 1.7 和 JDK 1.8 的底層實現(xiàn)是不一樣的。

  • 在 JDK 1.7 中,HashMap 使用的是數(shù)組 + 鏈表實現(xiàn)的。
  • 而 JDK 1.8 中使用的是數(shù)組 + 鏈表或紅黑樹實現(xiàn)的

HashMap 在 JDK 1.7 中的實現(xiàn)如下圖所示:

HashMap 在 JDK 1.8 中的實現(xiàn)如下圖所示:

4、HashMap 如何取值和存值?

參考答案:HashMap 使用 put(key,value) 方法進行存值操作,而存值操作的關鍵是根據(jù) put 中的 key 的哈希值來確定存儲的位置,如果存儲的位置為 null,則直接存儲此鍵值對;如果存儲的位置有值,則使用鏈地址法來解決哈希沖突,找到新的位置進行存儲。

HashMap 取值的方法是 get(key),它主要是通過 key 的哈希值,找到相應的位置,然后通過 key 進行判斷,從而獲取到存儲的 value 信息。

5、SpringBoot 如何修改端口號?

參考答案:在 Spring Boot 中的配置文件中設置“server.port=xxx”就可以修改端口號了。

6、如何修改 Tomcat 版本號?

參考答案:在 pom.xml 中添加 tomcat-embed-core 依賴就可以修改 Spring Boot 中內置的 Tomcat 版本號了,如下圖所示:

但需要注意的是 Spring Boot 和 Tomcat 的版本是有對應關系的,要去 maven 上查詢對應的版本關系才能正確的修改內置的 Tomcat 版本號,如下圖所示:

7、SpringBoot如何配置Redis?

參考答案:首先在 Spring Boot 中添加 Redis 的框架依賴,然后在配置文件中使用“spring.redis.xxx”來設置 Redis 的相關屬性,例如以下這些:

spring:
  redis:
    # Redis 服務器地址
    host: 127.0.0.1
    # Redis 端口號
    port: 6379
    # Redis服務器連接密碼,默認為空,若有設置按設置的來
    password:
    jedis:
      pool:
        # 連接池最大連接數(shù),若為負數(shù)則表示沒有任何限制
        max-active: 8
        # 連接池最大阻塞等待時間,若為負數(shù)則表示沒有任何限制
        max-wait: -1
        # 連接池中的最大空閑連接
        max-idle: 8

8、MySQL 左連接和右連接有什么區(qū)別?

參考答案:在 MySQL 中,左連接(Left Join)和右連接(Right Join)是兩種用來進行聯(lián)表查詢的 SQL 語句,它們的區(qū)別如下:

  • 左連接:左連接是以左邊的表格(也稱為左表)為基礎,將左表中的所有記錄和右表中匹配的記錄聯(lián)接起來。即使右表中沒有匹配的記錄,左連接仍然會返回左表中的記錄。如果右表中有多條匹配記錄,則會將所有匹配記錄返回。左連接使用 LEFT JOIN 關鍵字來表示。
  • 右連接:右連接是以右邊的表格(也稱為右表)為基礎,將右表中的所有記錄和左表中匹配的記錄聯(lián)接起來。即使左表中沒有匹配的記錄,右連接仍然會返回右表中的記錄。如果左表中有多條匹配記錄,則會將所有匹配記錄返回。右連接使用 RIGHT JOIN 關鍵字來表示。

例如以下圖片,左連接查詢的結果如下圖所示(紅色部分為查詢到的數(shù)據(jù)):

右連接如下圖紅色部分:

9、內連接沒有匹配上會怎么?

參考連接:內連接使用的是 inner join 關鍵字來實現(xiàn)的,它會匹配到兩張表的公共部分,如下圖所示:

所以,如果內連接沒有匹配上數(shù)據(jù),則查詢不到此數(shù)據(jù)。

小結

以上是比亞迪的面試題,但并不是說比亞迪的面試難度一定只有這么低。因為面試的難度通常是根據(jù)應聘者的技術水平?jīng)Q定的:如果應聘者的能力一般,那么通常面試官就會問一下簡單的問題,然后早早結束面試;但如果應聘者的能力比較好,面試官通常會問的比較難,以此來探尋應聘者的技術能力邊界,從而為后續(xù)的定薪、定崗來做準備,所以大家如果遇到迪子的面試也不要大意。

責任編輯:姜華 來源: Java中文社群
相關推薦

2021-11-04 14:32:17

Spring 面試作用域

2021-10-26 14:40:03

MySQL SQL 語句數(shù)據(jù)庫

2021-10-21 14:43:23

Java 語言 Java 基礎

2021-09-07 14:46:42

面試網(wǎng)絡HTTP 協(xié)議

2021-07-26 14:59:23

面試Redis內存數(shù)據(jù)庫

2024-02-23 19:17:12

構造函數(shù)C++開發(fā)

2022-05-06 22:13:56

JVM垃圾收集算法

2021-05-06 07:27:57

面試任務調度器

2023-11-28 18:09:49

Java多態(tài)

2021-10-26 17:05:55

Redis字符串復雜度

2022-09-03 11:36:11

Python文件網(wǎng)絡

2023-01-13 18:04:03

面試題消息中間件

2021-08-01 22:59:43

Object八股文quals

2021-08-12 09:28:24

Java多線程變量

2021-05-20 11:43:57

操作系統(tǒng)硬件軟件

2021-04-14 10:02:59

網(wǎng)絡八股文協(xié)議

2024-01-29 08:45:38

MySQL大數(shù)據(jù)分頁

2024-06-05 10:59:51

2024-10-12 09:26:32

線程池系統(tǒng)核心線程

2023-12-12 13:38:00

Java異步編程
點贊
收藏

51CTO技術棧公眾號