> **今天掛了融360的java 開發心情有點不爽,還好15點小米的小哥哥賊棒;不多說直接小米面經奉上**
---
1. 面試官自我介紹(親和度+1)
2. 反轉流程,LZ自我介紹
3. Java 基礎 ArrayList() LinkedList();
4. JVM,JMM
5. GC算法
6. 標記清除算法,標記整理算法,復制算法的應用和區別,優缺點
7. MySQL的數據庫引擎,索引類別和使用,最左原則,具體到題目。
數據庫某個表三列
---
A | B | C
---|---|---
data_a1 |datab_1 |datac_1
data_a2 |datab_2 |datac_2
在A,B上加復合索引,在C上加了單獨的索引。
---
* select * from table where A='1' and C='1'時調用哪個個索引。
- 調用A和C
---
* select * from table where C='1' and A='1'時調用哪個個索引。
- 調用C
主要問的是最左原則,當然hash索引是不支持復合索引中的局部匹配的。
#### 兩個數據結構的編程題:
---
###### 雙棧實現隊列:
```java
class Queue {
Stack<Integer> stack1 = new Stack<Integer>();
Stack<Integer> stack2 = new Stack<Integer>();
public void push(int node) {
stack1.push(new Integer(node));
}
public int pop() {
int pop;
while (!stack1.isEmpty()) {
stack2.push(stack1.pop());
}
pop = stack2.pop().intValue();
while (!stack2.isEmpty()) {
stack1.push(stack2.pop());
}
return pop;
}
}
```
---
###### 最小堆
---
```java
public class MinHeap {
private int[] data;
public MinHeap(int[] data) {
this.data = data;
}
public void createHeap() {
for (int i = (data.length) / 2 - 1; i >= 0; i--) {
heapIfy(i);
}
}
public void heapIfy(int value) {
int lchild = left(value);
int rchild = right(value);
int smallest = value;
if (lchild < data.length && data[lchild] < data[value])
smallest = lchild;
if (rchild < data.length && data[rchild] < data[smallest])
smallest = rchild;
if (value == smallest)
return;
swap(value, smallest);
heapIfy(smallest);
}
public int left(int value) {
return ((value + 1) *2) - 1;
}
public int right(int value) {
return (value + 1) *2;
}
public void swap(int i, int j) {
int tmp = data[i];
data[i] = data[j];
data[j] = tmp;
}
public static void main(String[] args) {
int[] value = {1,3,7,22,1,6,4};
MinHeap heap = new MinHeap(value);
heap.createHeap();
for (int i = 0; i < value.length; i++) {
System.out.print(heap.data[i] + " ");
}
}
}
```
- 序
- 求職路
- 筆試準備
- Huawei題庫
- 劍指Offer
- 面試準備
- Java技術棧
- 設計模式
- Java框架
- Spring
- SpringBoot
- SpringCloud
- SpringMVC
- Spring基礎
- ORM
- Hibernate
- MyBatis
- 分布式
- 分布式計算
- 分布式存儲
- 消息隊列
- 消息中間件
- 生產者消費者
- Provider
- Data
- Consumer
- Main
- 校招宣講招聘會
- 哈工大九月
- 數據庫
- MySQL
- Redis
- 面試經歷
- Alibaba
- 第二面-Alibaba
- 第一面-Alibaba
- Xiaomi
- Xiaomi一面
- Xiaomi二面
- Yonyou
- Yonyou一面+HR
- Huawei
- Huawei一面
- Huawei二面
- 一個小結
- 工作路
- 萬里長征第一步
- Huawei簽約
- 技術路
- 開源之路
- 初試探
- 技術棧
- 編程語言
- OpenCV
- 從Java 和C++玩轉OpenCV
- 第一章
- 介紹
- 第一節