Skip to content

Commit 73235d8

Browse files
committed
腾讯所有问题汇总
1 parent 0968069 commit 73235d8

3 files changed

Lines changed: 196 additions & 20 deletions

File tree

Lines changed: 189 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,189 @@
1+
2+
3+
4+
## 算法
5+
6+
- 判断树是否对称:1
7+
- 在一个大数组里求第100大的数字:1
8+
- 找出A[1000]、B[1000]、C[1000]中的重合的数字:1
9+
- 给出25亿个QQ号,找出其中重复的?如果不用bitmap且只有一台机器怎么做?:1
10+
- 你了解哪些排序?:1
11+
- 快排什么时候复杂度不好?:1
12+
- 红黑树的特点?如果给红黑树插入数据,红黑树是怎么做的?:1
13+
- 写一个栈:1
14+
- 两个特别大的数相乘:1
15+
- 求两个已排序数组合并后的中位数:1
16+
- 设计栈,使得getMin()和getMax()的时间复杂度为O(1):1
17+
- 一个数组中只有一个数字出现了奇数次,其他数字出现了偶数次,找到出现了奇数次的那个数:1
18+
- 100层楼和2个玻璃杯,怎样用最少的次数找出杯子在哪一层会碎:1
19+
- 哈希表是如何实现的?:1
20+
- 1TB的数据如何进行排序:1
21+
- 对100TB的数据进行排序?(拆分多个数据段进行排序,然后归并):1
22+
- 判断链表有环,找环入口:2
23+
- 100万个数找最小的10个(大顶堆):1
24+
- 旋转数组找出最小值:1
25+
- 找链表中间节点:1
26+
- 找链表倒数第k节点:1
27+
- 微信发红包 m块钱发给n个人 你怎么设计算法:1
28+
- 很多数中有俩数重复了咋判断:1
29+
- 单调栈问题:1
30+
- 分组反转单向链表:1
31+
- 非递归实现后序遍历:1
32+
- 把数组排成最小的数:1
33+
- 找第k大元素:1
34+
- 链表循环右移动k位置:1
35+
- 如何自己实现一个kv结构的,你有哪几种方式:1
36+
- 用hash表有什么问题,和解决了什么问题?:1
37+
- 用树解决了什么问题,红黑树和hash分别是有序还是无序的呢?:1
38+
- 为什么是有序还是无序?具体怎么实现的呢?:1
39+
40+
## MySQl
41+
42+
- mysql慢查询如何优化?:2
43+
- 优化器是什么时候起作用的?:1
44+
- MVCC的原理?:1
45+
- InnoDB和myISAM的区别?:2
46+
- InnoDB的聚集索引和MyISAM的非聚集索引的区别?:1
47+
- B+树、B树、红黑树的区别:2
48+
- 辅助索引的叶子上有什么内容?辅助索引和主键索引性能差距在哪里?:1
49+
- 数据库事务性质,并发一致性问题:1
50+
- 数据库存储过程,视图,函数的使用,几种连接方式:1
51+
- 索引:2
52+
- 事务的ACID:2
53+
- 数据库的join操作实际上是MySQL底层是怎么做的呢:1
54+
- limit a,b是什么意思,会有什么性能上的问题:1(limit之前的数据先查出来、a代表起点、b代表数量,如果a很大的话,那么MySQL需要先去遍历前a条数据而不是直接定位,所以这里存在性能问题)
55+
- 数据库容灾方面问题,数据库挂了怎么办:1
56+
- 数据库集群怎么实现数据一致性:1
57+
58+
59+
## java
60+
- 从java代码到.class文件,中间经历实现你了哪些过程?:1
61+
- Java数据类型,大小:1
62+
- instanceof和getClass:1
63+
- JMM:2
64+
- 介绍项目中的SpringIOC DI MVC AOP:1
65+
- JVM数据区:1
66+
- GC相关:1
67+
- OOM情况:1
68+
- 多态的实现:1
69+
- Java类的分类:1
70+
- 普通类,接口,抽象类的区别:1
71+
- Java创建线程的方式:1
72+
- 线程的状态:1
73+
- 单例模式:1
74+
- 类加载过程:1
75+
- 双亲委派模型:1
76+
- Java会出现内存泄露吗:1
77+
- 如何定位和解决OOM:1
78+
- Java的GC中什么场景下使用CMS和G1:1
79+
- hashmap:1
80+
- JVM参数调优:1
81+
- Minor GC和Full GC:1
82+
- 线程池:1
83+
- spring bean的什么周期:2
84+
- spring 单例的bean是否线程安全:1
85+
- 有状态的bean和无状态的bean区别:1
86+
- spring事务了解么:1
87+
- 如何实现HashMap取出的顺序和放入顺序一致?:1
88+
- HashMap的扩容的时间复杂度,如何优化?:1
89+
- JDK8添加了哪些特性?:1
90+
- java为什么说它即是解释型语言,又是编译型语言:1
91+
- 面向对象和面向过程的区别?:1
92+
- java的类和c++的类有什么区别:1
93+
- java语言的三大特性:1
94+
- 怎么拼接多个string:1
95+
- 讲讲异常:1
96+
- 深拷贝和浅拷贝:1
97+
- java的包装类的了解?为啥要有包装类:1
98+
- Java的集合:1
99+
- 乐观锁和悲观锁:1
100+
- synchronize和Lock区别:1
101+
- synchronized的底层是怎么实现的?:1
102+
- ReentrantLock的区别:1
103+
- ThreadLocal的原理是什么:1
104+
- CountdownLatch:1
105+
106+
## redis
107+
108+
- redis在你项目中怎么用的?防止重复提交是怎么做到的?:1
109+
- Redis五种数据类型:1
110+
- Hash底层:1
111+
- redis跳表的优势:1
112+
- reactor模式:1
113+
- redis持久化:1
114+
115+
116+
## 计网
117+
118+
- HTTP还是HTTPS请求?有什么区别?:3
119+
- HTTP过程的四次挥手?:2
120+
- TIME_WAIT的作用?:2
121+
- cookie的作用?:1
122+
- 腾讯和百度两个网页能获取对方的cookie吗?:1
123+
- 在百度里搜索abc的过程?:1
124+
- 搜索的时候,数据包是怎么交给网卡的?(7层 5层网络模型)层层封包都加的是什么内容?:1
125+
- 网卡怎么知道数据是发送给百度服务器的,怎么找到服务器的?:1
126+
- 计算机网络分层,各层的协议:1
127+
- http流量控制,拥塞避免如何实现:1
128+
- 多少种请求方式,get和post区别:1
129+
- Https端口443以及怎么的实现流程:1
130+
- Session和Cookie区别:1
131+
- TCP和UDP的区别:1
132+
- TCP三次握手:1
133+
- CLOSE_WAIT:1
134+
- DNS解析的过程:1
135+
- HTTP长连接和短连接:1
136+
- TCP拥塞控制:1
137+
- 了解粘包吗,怎么设置不粘包:1
138+
- sql注入如何防范:1
139+
- xss如何防范:1
140+
- udp的最大包长度,为什么这么大?:1
141+
- 傻瓜窗口了解吗?怎么解决?:1
142+
- socket去写的时候你会怎么写?考虑什么?:1
143+
- http常见头部信息有哪些:1
144+
- 你知道https的非对称加密和对称加密使用了哪些算法么:1
145+
146+
## os
147+
- 内核态和用户态的区别?:1
148+
- 用户态通过什么样的接口调用内核?
149+
- 进程在内存中是如何分配的?(段页式及其细节、数据段、栈段、代码段):1
150+
- 操作系统进程同步方式:1
151+
- 进程怎样通信:2
152+
- 套接字:1
153+
- 线程通信机制:1
154+
- CPU密集型任务适合多进程还是多线程?:1
155+
- 进程的同步机制,你在什么时候用:1
156+
- 向一个进程发出kill信号接下来发生什么?:1
157+
- 共享内存的坏处:1
158+
- 操作系统中中断的分类:1
159+
- 操作系统页置换算法:1
160+
- 僵尸进程问题:1
161+
- 页式和段式的区别,优缺点,应用场景。:1
162+
- 讲一下虚拟内存、页表:1
163+
- 为什么顺序io比随机io快?:1
164+
- 随机io的过程是什么?:1
165+
- 用户态和内核态的区别?如何切换?:1
166+
- 原子操作的意义:1
167+
- i++为什么不是原子操作,如何去保证是原子操作?:1
168+
169+
## 分布式
170+
171+
- 高并发系统大量请求如何优化:1
172+
- 分布式系统CAP:1
173+
- 秒杀系统解决超卖问题,(数据库排它锁和乐观锁CAS版本号机制):1
174+
- base理论:1
175+
- 两阶段提交:1
176+
- redis分布式锁的注意事项,实现过程?:1
177+
178+
## 亮点
179+
- Netty,NIO通信框架:1
180+
- BIO、NIO、AIO:1
181+
- NIO又可以分为三种,基于轮询、基于多路复用、基于事件回调:1
182+
- 如何指定使用哪种方式:1
183+
- 知道他底层怎么实现的吗:1
184+
- Netty底层Buffer的实现:1
185+
- 日志清理如何解决:1
186+
- 日志合并如何解决:1
187+
- reactor模式:1
188+
- 讲讲netty的io模型:1
189+
- 讲讲多路复用机制,你觉得什么时候多路复用性能会比较好?

Interview/src/Main.java

Lines changed: 6 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -3,25 +3,11 @@
33
public class Main {
44
public static void main(String[] args) {
55
Scanner sc = new Scanner(System.in);
6-
int[] a = new int[5];
7-
for (int i = 0; i < 5; i++) {
8-
a[i] = sc.nextInt();
9-
}
10-
int c = 1;
11-
boolean flag = false;
12-
while (!flag){
13-
int cnt = 0;
14-
for (int i = 0; i < 5; i++) {
15-
if (c / a[i] != 0 && c % a[i] == 0) {
16-
cnt++;
17-
if (cnt == 3) {
18-
flag = true;
19-
break;
20-
}
21-
}
22-
}
23-
c++;
24-
}
25-
System.out.println(c-1);
6+
int x1 = sc.nextInt();
7+
int y1 = sc.nextInt();
8+
int x2 = sc.nextInt();
9+
int y2 = sc.nextInt();
10+
int sub = (x2 * 60 + y2) - (x1 * 60 + y1);
11+
System.out.print(sub / 60 + " " + sub % 60);
2612
}
2713
}

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
- [字节所有问题汇总](/Interview/mianjing/zijie/字节所有问题汇总.md)
2525
- [远景所有问题汇总](/Interview/mianjing/yuanjing/远景所有问题汇总.md)
2626
- [百度所有问题汇总](/Interview/mianjing/baidu/百度所有问题汇总.md)
27+
- [腾讯所有问题汇总](/Interview/mianjing/tx/腾讯所有问题汇总.md)
2728

2829
### 本人所经历的面经
2930
- [招银面经](/Interview/mianjing/zhaoyin/my.md)

0 commit comments

Comments
 (0)