From fdebe1d881b124140e1f8a1bcc014e6d69550edc Mon Sep 17 00:00:00 2001 From: Windsooon Date: Thu, 29 Oct 2020 08:44:51 +0800 Subject: [PATCH 01/25] add decs --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 0aaaa0f..3019d18 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # 高频面试题 -根据超过 1500 篇真实面经整理的腾讯,阿里,字节跳动,Shopee,美团,滴滴高频面试题 +根据牛客网,一亩三分地,Leetcode 收集超过 1700 篇真实面经整理的腾讯,阿里,字节跳动,Shopee,美团,滴滴高频面试题 ### 目录 - [腾讯](#腾讯) From 999a096859637509f6eddd8b14cfd3c25a413986 Mon Sep 17 00:00:00 2001 From: Windsooon Date: Thu, 29 Oct 2020 10:14:31 +0800 Subject: [PATCH 02/25] update decs --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 3019d18..2843fd5 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # 高频面试题 -根据牛客网,一亩三分地,Leetcode 收集超过 1700 篇真实面经整理的腾讯,阿里,字节跳动,Shopee,美团,滴滴高频面试题 +根据国内外论坛收集超过 1700 篇真实面经整理的腾讯,阿里,字节跳动,Shopee,美团,滴滴高频面试题 ### 目录 - [腾讯](#腾讯) From 4f17efaae0128eb64d154ddd0b3bae45cff5fc1d Mon Sep 17 00:00:00 2001 From: Windsooon Date: Fri, 30 Oct 2020 15:01:45 +0800 Subject: [PATCH 03/25] update --- README.md | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 2843fd5..dc3a1fb 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,11 @@ # 高频面试题 -根据国内外论坛收集超过 1700 篇真实面经整理的腾讯,阿里,字节跳动,Shopee,美团,滴滴高频面试题 +根据国内外论坛收集超过 1700 篇真实面经整理的腾讯,阿里,字节跳动,Shopee,美团,滴滴等公司的真实高频面试题 + +### 其他内容 + +- [免费项目实战课程](https://github.com/resumejob/free-project-course) +- [程序员简历例句](https://github.com/resumejob/awesome-resume) ### 目录 - [腾讯](#腾讯) From a0faaa057e1c155673bb6aab0cd885fe70cc7024 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=9F=B3=E5=A4=B4?= <1027926875@qq.com> Date: Sun, 1 Nov 2020 09:20:52 +0800 Subject: [PATCH 04/25] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=87=A0=E5=A4=84?= =?UTF-8?q?=E6=96=87=E5=AD=97=E6=8B=BC=E5=86=99=E9=94=99=E8=AF=AF=EF=BC=8C?= =?UTF-8?q?=E5=B9=B4=E8=80=81=E4=BB=A3->=E8=80=81=E5=B9=B4=E4=BB=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index dc3a1fb..d04d45f 100644 --- a/README.md +++ b/README.md @@ -222,7 +222,7 @@ - ▲ 41 Java 中垃圾回收机制中如何判断对象需要回收?常见的 GC 回收算法有哪些? - ▲ 34 简述 Synchronized,Volatile,可重入锁的不同使用场景及优缺点 - ▲ 30 synchronized 关键字底层是如何实现的?它与 Lock 相比优缺点分别是什么? -- ▲ 26 JVM 中内存模型是怎样的,简述新生代与年老代的区别? +- ▲ 26 JVM 中内存模型是怎样的,简述新生代与老年代的区别? - ▲ 20 简述 Spring AOP 的原理 - ▲ 19 实现单例设计模式(懒汉,饿汉) - ▲ 17 Java 是如何实现线程安全的 @@ -354,7 +354,7 @@ - ▲ 6 简述 Synchronized,volatile,可重入锁的不同使用场景及优缺点 - ▲ 6 Java 类的加载流程是怎样的?什么是双亲委派机制? - ▲ 5 简述常见的工厂模式以及单例模式的使用场景 -- ▲ 5 JVM 中内存模型是怎样的,简述新生代与年老代的区别? +- ▲ 5 JVM 中内存模型是怎样的,简述新生代与老年代的区别? - ▲ 3 Java 常见锁有哪些?ReetrantLock 是怎么实现的? - ▲ 3 ThreadLocal 实现原理是什么? - ▲ 3 简述 Spring 的初始化流程 @@ -498,7 +498,7 @@ - ▲ 8 HashMap 实现原理,为什么使用红黑树? - ▲ 6 常用的排序方式有哪些,时间复杂度是多少? - ▲ 3 volatile 关键字解决了什么问题,它的实现原理是什么? -- ▲ 2 JVM 中内存模型是怎样的,简述新生代与年老代的区别? +- ▲ 2 JVM 中内存模型是怎样的,简述新生代与老年代的区别? - ▲ 2 简述 SortedSet 实现原理 - ▲ 2 简述使用协程的优点 - ▲ 1 Java 编译后的 .class 文件包含了什么内容? @@ -585,7 +585,7 @@ - ▲ 9 hashcode 和 equals 方法的联系 - ▲ 9 什么是重写和重载? - ▲ 7 简述 JVM 的内存模型 JVM 内存是如何对应到操作系统内存的? -- ▲ 7 JVM 中内存模型是怎样的,简述新生代与年老代的区别? +- ▲ 7 JVM 中内存模型是怎样的,简述新生代与老年代的区别? - ▲ 5 简述装饰者模式以及适配器模式 - ▲ 5 什么情况下会发生死锁,如何解决死锁? - ▲ 4 简述 Java 中 final 关键字的作用 From 6e18f112871dbe72f60361f9001e4d4f632799b1 Mon Sep 17 00:00:00 2001 From: Windsooon Date: Fri, 6 Nov 2020 10:39:21 +0800 Subject: [PATCH 05/25] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=87=A0=E5=AE=B6?= =?UTF-8?q?=E5=85=AC=E5=8F=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 380 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 380 insertions(+) diff --git a/README.md b/README.md index d04d45f..60ad950 100644 --- a/README.md +++ b/README.md @@ -69,6 +69,50 @@ - 非技术 - 前端 +- [百度](#百度) + - Java + - C++ + - 操作系统 + - 网络协议 + - 算法 + - 数据库 + - 系统设计 + - 非技术 + - 前端 + +- [京东](#京东) + - Java + - C++ + - 操作系统 + - 网络协议 + - 算法 + - 数据库 + - 系统设计 + - 非技术 + - 前端 + +- [快手](#快手) + - Java + - C++ + - 操作系统 + - 网络协议 + - 算法 + - 数据库 + - 系统设计 + - 非技术 + - 前端 + +- [拼多多](#拼多多) + - Java + - C++ + - 操作系统 + - 网络协议 + - 算法 + - 数据库 + - 系统设计 + - 非技术 + - 前端 + ## 腾讯 @@ -739,3 +783,339 @@ - ▲ 7 简述 Vue 的生命周期 - ▲ 7 简述常见异步编程方案 (promise, generator, async) 的原理 - ▲ 6 简述 Javascript 的柯里化与逆柯里化 + +## 百度 + +#### # Java + +- ▲ 7 简述 Java 的反射机制及其应用场景 +- ▲ 6 String 为什么是 final? +- ▲ 6 volatile 关键字解决了什么问题,它的实现原理是什么? + +#### # C++ + +- ▲ 13 简述 C++ 中智能指针的特点,简述 new 与 malloc 的区别 +- ▲ 8 C++ 中多态是怎么实现的 +- ▲ 7 简述 C++ 的内联函数 +- ▲ 6 C++ 是如何进行内存管理的? +- ▲ 3 lambda 函数的特点,和普通函数相比有什么优点? +- ▲ 2 指针和引用的区别是什么? + +#### # 操作系统 + +- ▲ 8 进程和线程之间有什么区别? +- ▲ 7 简单介绍进程调度的算法 +- ▲ 7 简述 socket 中 select 与 epoll 的使用场景以及区别,epoll 中水平触发以及边缘触发有什么不同? + +#### # 网络协议 + +- ▲ 25 从输入 URL 到展现页面的全过程 +- ▲ 13 简述 DDOS 攻击原理,如何防范它? +- ▲ 12 HTTP 与 HTTPS 有哪些区别? +- ▲ 11 TCP 与 UDP 在网络协议中的哪一层,他们之间有什么区别? +- ▲ 11 简述 TCP 三次握手以及四次挥手的流程。为什么需要三次握手以及四次挥手? +- ▲ 8 简述 HTTP 1.0,1.1,2.0 的主要区别 +- ▲ 8 简述 TCP 的 TIME_WAIT +- ▲ 6 简述 BGP 协议和 OSPF 协议的区别 +- ▲ 5 TCP 的 keepalive 了解吗?说一说它和 http 的 keepalive 的区别? +- ▲ 3 traceroute 有什么作用? + +#### # 算法 + +- ▲ 11 给定 100G 的 URL 磁盘数据,使用最多 1G 内存,统计出现频率最高的 Top K 个 URL +- ▲ 11 无重复字符的最长子串 (Leetcode) +- ▲ 9 实现快速排序 +- ▲ 8 手写判断电话号码的正则表达式 +- ▲ 7 10亿个数中如何高效地找到最大的一个数以及最大的第 K 个数 +- ▲ 7 反转链表 (Leetcode) +- ▲ 7 搜索旋转排序数组 (Leetcode) +- ▲ 6 实现快速排序 +- ▲ 5 环形链表 (Leetcode) +- ▲ 2 二叉树的最大深度 (Leetcode) + +#### # 数据库 + +- ▲ 15 MySQL 为什么使用 B+ 树来作索引,对比 B 树它的优点和缺点是什么? +- ▲ 13 什么是数据库事务,MySQL 为什么会使用 InnoDB 作为默认选项 +- ▲ 13 聚簇索引和非聚簇索引有什么区别?什么情况用聚集索引? +- ▲ 13 联合索引的存储结构是什么? +- ▲ 9 简述乐观锁以及悲观锁的区别以及使用场景 +- ▲ 9 redis 如何实现高可用? +- ▲ 6 数据库的事务隔离级别有哪些?各有哪些优缺点? +- ▲ 6 简述 MySQL 三种日志的使用场景 +- ▲ 6 简述 redis 的通信模型 +- ▲ 5 简述数据库中的 ACID 分别是什么? +- ▲ 4 什么情况下会发生死锁,如何解决死锁? + +#### # 非技术 + +- ▲ 9 你的老师和同学是如何评价你的? +- ▲ 7 大学中最具有挑战的事情,怎么解决的? +- ▲ 5 你的优势和劣势是什么? +- ▲ 3 近几年中,最有成就感的一件事是什么? + +#### # 前端 + +- ▲ 17 手写题库 https://github.com/Mayandev/fe-interview-handwrite +- ▲ 9 简述常见异步编程方案 (promise, generator, async) 的原理 +- ▲ 6 简述常见的 HTTP 状态码的含义(301,304,401,403) +- ▲ 5 箭头函数和普通函数的区别是什么? +- ▲ 5 简述浏览器事件循环机制 +- ▲ 4 promise 有哪些状态?简述 promise.all 的实现原理 +- ▲ 4 数组去重有哪些方式?手写数组去重 +- ▲ 4 Vue 组件间是如何进行通信的? +- ▲ 3 sessionStorage 和 localStorage 有什么区别? +- ▲ 3 什么情况下引起重排和重绘?改变 color 会吗?改变 margin 会吗? +- ▲ 2 CSS3 有哪些新特性 +- ▲ 2 如何使用 flex 实现两栏布局? +- ▲ 2 CSS 的 position 常用值有哪些,有什么区别? +- ▲ 1 CSS3 如何实现渐变色? +- ▲ 1 flex 常用的属性有哪些?flex: 1 1 0 是什么意思? +- ▲ 1 如何实现 div 元素水平垂直居中 +- ▲ 1 什么情况下 z-index 不生效? + +## 京东 + +#### # Java + +- ▲ 15 HashMap 与 ConcurrentHashMap 的实现原理是怎样的?ConcurrentHashMap 是如何保证线程安全的? +- ▲ 15 Java 类的加载流程是怎样的?什么是双亲委派机制? +- ▲ 14 hashMap 1.7 / 1.8 的实现区别 +- ▲ 14 String,StringBuffer,StringBuilder 之间有什么区别? +- ▲ 14 简述 ArrayList 与 LinkedList 的底层实现以及常见操作的时间复杂度 +- ▲ 13 线程池是如何实现的?简述线程池的任务策略 +- ▲ 13 简述 CAS 原理,什么是 ABA 问题,怎么解决? +- ▲ 12 volatile 关键字解决了什么问题,它的实现原理是什么? +- ▲ 11 Java 中垃圾回收机制中如何判断对象需要回收?常见的 GC 回收算法有哪些? +- ▲ 11 什么是公平锁?什么是非公平锁? +- ▲ 10 == 和 equals() 的区别? +- ▲ 9 synchronized 关键字底层是如何实现的?它与 Lock 相比优缺点分别是什么? +- ▲ 9 简述常见的工厂模式以及单例模式的使用场景 +- ▲ 9 Java 中接口和抽象类的区别 +- ▲ 9 JAVA 创建多线程的方法有哪些? +- ▲ 8 简述 GC 引用链,G1收集器原理 +- ▲ 7 volatile 关键字解决了什么问题,它的实现原理是什么? +- ▲ 7 简述 Spring 注解的实现原理 +- ▲ 6 Spring MVC 的原理和流程 +- ▲ 6 Java 怎么防止内存溢出 + +#### # 操作系统 + +- ▲ 7 创建线程有多少种方式? +- ▲ 4 线程有多少种状态,状态之间如何转换 +- ▲ 2 简述 CPU L1, L2, L3 多级缓存的基本作用 + +#### # 网络协议 + +▲ 13 简述 TCP 三次握手以及四次挥手的流程。为什么需要三次握手以及四次挥手? + +#### # 算法 + +- ▲ 8 JVM 中内存模型是怎样的,简述新生代与老年代的区别? +- ▲ 5 反转链表 (Leetcode) +- ▲ 3 快速排序的空间复杂度是多少?时间复杂度的最好最坏的情况是多少,有哪些优化方案? +- ▲ 3 堆排序的时间复杂度是多少?说几个堆排序的应用场景 +- ▲ 3 不稳定的排序算法有哪些? +- ▲ 2 简述内部排序以及外部排序的常见算法 + +#### # 数据库 + +- ▲ 17 简述乐观锁以及悲观锁的区别以及使用场景 +- ▲ 16 数据库的事务隔离级别有哪些?各有哪些优缺点? +- ▲ 14 MySQL 为什么使用 B+ 树来作索引,对比 B 树它的优点和缺点是什么? +- ▲ 11 什么情况下会发生死锁,如何解决死锁? +- ▲ 8 数据库索引的实现原理是什么? +- ▲ 7 简述 Redis 持久化中 rdb 以及 aof 方案的优缺点 +- ▲ 6 简述什么是最左匹配原则 +- ▲ 6 MySQL 常用的聚合函数有哪些? +- ▲ 6 简述 Redis 中常见类型的底层数据结构 +- ▲ 5 什么是 SQL 注入攻击?如何防止这类攻击? +- ▲ 5 MySQL 联合索引底层原理是什么? +- ▲ 5 数据库有哪些常见索引?数据库设计的范式是什么? + +#### # 非技术 + +- ▲ 6 实习的内容是什么?最大收获是什么? +- ▲ 3 最有成就感的项目是什么? + +#### # 前端 + +- ▲ 11 什么是跨域,什么情况下会发生跨域请求? +- ▲ 9 什么是闭包,什么是立即执行函数,它的作用是什么?简单说一下闭包的使用场景 +- ▲ 8 简述 Javascript 的数据类型 +- ▲ 7 移动端适配有哪些方案? +- ▲ 7 Vue 组件间是如何进行通信的? +- ▲ 7 Vue 中双向数据绑定的实现原理是怎样的? +- ▲ 7 简述 webpack 的打包流程 +- ▲ 6 简述 CSS 盒模型 +- ▲ 4 rem 与 em 的区别以及使用场景 + +## 快手 + +#### # Java + +- ▲ 19 HashMap 与 ConcurrentHashMap 的实现原理是怎样的?ConcurrentHashMap 是如何保证线程安全的? +- ▲ 13 简述 ArrayList 与 LinkedList 的底层实现以及常见操作的时间复杂度 +- ▲ 12 Java 中垃圾回收机制中如何判断对象需要回收?常见的 GC 回收算法有哪些? +- ▲ 11 简述 CAS 原理,什么是 ABA 问题,怎么解决? +- ▲ 9 简述 Synchronized,Volatile,可重入锁的不同使用场景及优缺点 +- ▲ 8 简述 JVM 的内存模型 JVM 内存是如何对应到操作系统内存的? +- ▲ 8 == 和 equals() 的区别? +- ▲ 7 实现单例设计模式(懒汉,饿汉) +- ▲ 6 Java 常见锁有哪些?ReetrantLock 是怎么实现的? +- ▲ 6 synchronized 关键字底层是如何实现的?它与 Lock 相比优缺点分别是什么? +- ▲ 5 JVM 中内存模型是怎样的,简述新生代与老年代的区别? +- ▲ 5 volatile 关键字解决了什么问题,它的实现原理是什么? +- ▲ 4 线程池是如何实现的?简述线程池的任务策略 +- ▲ 3 简述 Spring 注解的实现原理 +- ▲ 2 如何解决 TCP 传输丢包问题? + +#### # 操作系统 + +- ▲ 7 进程间有哪些通信方式? +- ▲ 6 进程和线程之间有什么区别? +- ▲ 5 简述自旋锁与互斥锁的使用场景 + +#### # 网络协议 + +- ▲ 11 从输入 URL 到展现页面的全过程 +- ▲ 10 DNS 查询服务器的基本流程是什么?DNS 劫持是什么? +- ▲ 8 TCP 怎么保证可靠传输? +- ▲ 7 简述 TCP 三次握手以及四次挥手的流程。为什么需要三次握手以及四次挥手? +- ▲ 6 什么是 TCP 粘包和拆包? +- ▲ 4 如何解决 TCP 传输丢包问题? +- ▲ 3 TCP 与 UDP 在网络协议中的哪一层,他们之间有什么区别? + +#### # 算法 + +- ▲ 9 实现快速排序 +- ▲ 7 环形链表 (Leetcode) +- ▲ 5 简述布隆过滤器原理及其使用场景 +- ▲ 5 合并两个有序数组 (Leetcode) +- ▲ 4 用队列实现栈 (Leetcode) +- ▲ 4 删除链表的倒数第N个节点 (Leetcode) +- ▲ 4 合并两个有序数组 (Leetcode) +- ▲ 4 常用的限流算法有哪些?简述令牌桶算法原理 +- ▲ 4 对角线遍历 (Leetcode) +- ▲ 3 有效的括号 (Leetcode) + +#### # 数据库 + +- ▲ 12 MySQL 为什么使用 B+ 树来作索引,对比 B 树它的优点和缺点是什么? +- ▲ 8 简述什么是最左匹配原则 +- ▲ 7 MySQL 联合索引底层原理是什么? +- ▲ 7 什么情况下会发生死锁,如何解决死锁? +- ▲ 7 Redis 如何实现分布式锁? +- ▲ 7 简述一致性哈希算法的实现方式及原理,虚拟节点有什么用? +- ▲ 5 数据库的事务隔离级别有哪些?各有哪些优缺点? +- ▲ 5 简述常见的负载均衡算法 +- ▲ 4 Redis 有几种数据结构?Zset 是如何实现的? + +#### # 系统设计 + +- ▲ 6 电商系统中,如何实现秒杀功能?如何解决商品的超卖问题? +- ▲ 4 如何解决缓存与数据库不一致的问题? +- ▲ 4 简述中间件削峰和限流的使用场景 +- ▲ 4 项目上有什么技术难点? + +#### # 快手 + +- ▲ 6 未来的职业规划是什么? +- ▲ 6 你用过快手吗?说说对对快手的看法,使用上有哪些优缺点 +- ▲ 6 实习的内容是什么?最大收获是什么? +- ▲ 6 最近在看什么书吗,有没有接触过什么新技术? +- ▲ 4 你的性格和技能上有什么缺点 +- ▲ 1 能接受多大强度的加班? + +#### # 前端 + +- ▲ 10 简述 Javascript 原型以及原型链 +- ▲ 7 CSS 的选择器优先级是怎样? +- ▲ 5 简述 Javascript 中 this 的指向有哪些 +- ▲ 5 前端如何解决线程安全和进程安全的问题? +- ▲ 3 const, let, var 关键字有什么区别? +- ▲ 3 简述强缓存与协商缓存的区别和使用场景 + +## 拼多多 + +#### # Java + +- ▲ 9 简述 JVM 的内存模型 JVM 内存是如何对应到操作系统内存的? +- ▲ 9 Java 中垃圾回收机制中如何判断对象需要回收?常见的 GC 回收算法有哪些? +- ▲ 7 如何设计一个线程池 +- ▲ 6 如何设计 Java 的异常体系? +- ▲ 6 简述常见的工厂模式以及单例模式的使用场景 +- ▲ 5 Spring MVC 的原理和流程 +- ▲ 4 实现单例模式 + +#### # 拼多多 + +- ▲ 7 指针和引用的区别是什么? +- ▲ 4 C++ 11 有什么新特性 +- ▲ 4 C++ 中智能指针和指针的区别是什么? +- ▲ 4 C++ 中虚函数与纯虚函数的区别 +- ▲ 4 STL 中 vector 与 list 具体是怎么实现的?常见操作的时间复杂度是多少? +- ▲ 2 简述 vector 的实现原理 + +#### # 操作系统 + +- ▲ 14 进程和线程之间有什么区别? +- ▲ 11 进程间有哪些通信方式? +- ▲ 8 简述几个常用的 Linux 命令以及他们的功能。 +- ▲ 3 简述 socket 中 select 与 epoll 的使用场景以及区别,epoll 中水平触发以及边缘触发有什么不同? + +#### # 网络协议 + +- ▲ 19 简述 TCP 三次握手以及四次挥手的流程。为什么需要三次握手以及四次挥手? +- ▲ 8 简述 HTTP 1.0,1.1,2.0 的主要区别 +- ▲ 7 TCP 怎么保证可靠传输? +- ▲ 6 从输入 URL 到展现页面的全过程 +- ▲ 4 简述 HTTPS 的加密与认证过程 +- ▲ 2 什么是 ARP 协议?简述其使用场景 +- ▲ 1 TCP 如何实现数据有序性? + +#### # 算法 + +- ▲ 11 快速排序的空间复杂度是多少?时间复杂度的最好最坏的情况是多少,有哪些优化方案? +- ▲ 7 删除链表的倒数第N个节点 (Leetcode) +- ▲ 7 反转链表 (Leetcode) +- ▲ 5 给定 100G 的 URL 磁盘数据,使用最多 1G 内存,统计出现频率最高的 Top K 个 URL +- ▲ 5 翻转二叉树 (Leetcode) +- ▲ 4 简述 LRU 算法及其实现方式 +- ▲ 4 什么是排序算法中的稳定性? +- ▲ 4 字符串解码 (Leetcode) +- ▲ 3 用队列实现栈 (Leetcode) +- ▲ 2 多数元素 (Leetcode) +- ▲ 1 最长和谐子序列 (Leetcode) +- ▲ 1 手写无锁队列 + +#### # 数据库 + +- ▲ 14 数据库的事务隔离级别有哪些?各有哪些优缺点? +- ▲ 9 MySQL 为什么使用 B+ 树来作索引,对比 B 树它的优点和缺点是什么? +- ▲ 7 简述 Redis 持久化中 rdb 以及 aof 方案的优缺点 +- ▲ 5 为什么 Redis 在单线程下能如此快? +- ▲ 4 数据库索引的实现原理是什么? +- ▲ 3 简述数据库中的 ACID 分别是什么? +- ▲ 1 数据库索引的叶子结点为什么是有序链表? + +#### # 非技术 + +- ▲ 5 未来的职业规划是什么? +- ▲ 4 能接受多大强度的加班? +- ▲ 3 你用过拼多多吗?说说对对拼多多的看法,使用上有哪些优缺点 +- ▲ 2 对下一家入职的公司主要看重哪些方面? + +#### # 前端 + +- ▲ 9 readyState 的不同返回值有什么区别? +- ▲ 8 简述 React 的生命周期 +- ▲ 8 了解 XSS 攻击吗?如何防止 XSS 攻击? +- ▲ 6 promise 有哪些状态?简述 promise.all 的实现原理 +- ▲ 6 promise 有哪些状态?简述 promise.all 的实现原理 +- ▲ 4 HTTP 中 GET 和 POST 区别 +- ▲ 3 什么是替换元素与非替换元素 +- ▲ 2 简述 ES6 的新特性 +- ▲ 2 实现三栏布局 +- ▲ 1 正则表达式 /w 是什么意思? +- ▲ 1 什么是可继承元素和不可继承元素? From df563e602456cb358b9db15516bd28c838e987d8 Mon Sep 17 00:00:00 2001 From: Windsooon Date: Tue, 10 Nov 2020 21:02:07 +0800 Subject: [PATCH 06/25] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=8F=8F=E8=BF=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 60ad950..c748c07 100644 --- a/README.md +++ b/README.md @@ -1,11 +1,18 @@ -# 高频面试题 +## 介绍 -根据国内外论坛收集超过 1700 篇真实面经整理的腾讯,阿里,字节跳动,Shopee,美团,滴滴等公司的真实高频面试题 +本项目由**海外兔** (https://osjobs.net) 维护,海外兔团队由一线互联网面试官组成,提供海内外公司一对一入职套餐以及算法课程。 -### 其他内容 +**入职不成功不收费。详细信息请浏览[求职课程](https://osjobs.net/co/)** -- [免费项目实战课程](https://github.com/resumejob/free-project-course) +## 相关项目 + +- [大厂高频面经面试题(每天更新)](https://osjobs.net/topk/) - [程序员简历例句](https://github.com/resumejob/awesome-resume) +- [免费项目实战课程](https://github.com/resumejob/free-project-course) + +## 高频面试题 + +根据国内外论坛收集超过 1800 篇真实面经,包括腾讯,阿里,字节跳动,Shopee,美团,滴滴,百度,京东等公司的真实高频面试题。 ### 目录 - [腾讯](#腾讯) From d6c3cd13d98b6c77fe155fc7055ebd12837690d3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=BF=9C=E6=B5=85?= Date: Thu, 12 Nov 2020 10:35:23 +0800 Subject: [PATCH 07/25] =?UTF-8?q?fix:=20=E8=BF=9E=E7=BB=AD=E9=87=8D?= =?UTF-8?q?=E5=A4=8D=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index c748c07..bd31513 100644 --- a/README.md +++ b/README.md @@ -1119,7 +1119,6 @@ - ▲ 8 简述 React 的生命周期 - ▲ 8 了解 XSS 攻击吗?如何防止 XSS 攻击? - ▲ 6 promise 有哪些状态?简述 promise.all 的实现原理 -- ▲ 6 promise 有哪些状态?简述 promise.all 的实现原理 - ▲ 4 HTTP 中 GET 和 POST 区别 - ▲ 3 什么是替换元素与非替换元素 - ▲ 2 简述 ES6 的新特性 From fbff4a8d9cb1f6b0f6cce8005b8e0fe0f31ca23e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=9F=B3=E5=A4=B4?= <1027926875@qq.com> Date: Sat, 14 Nov 2020 09:53:00 +0800 Subject: [PATCH 08/25] =?UTF-8?q?=E4=BF=AE=E6=94=B9=20sentine=20l=20->=20s?= =?UTF-8?q?entinel?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index d04d45f..f4a22d3 100644 --- a/README.md +++ b/README.md @@ -315,7 +315,7 @@ - ▲ 3 简述什么是最左匹配原则 - ▲ 2 数据库的读写分离的作用是什么?如何实现? - ▲ 2 简述 Redis 中跳表的应用以及优缺点 -- ▲ 1 Redis 中,sentine l和 cluster 的区别和适用场景是什么? +- ▲ 1 Redis 中,sentinel和 cluster 的区别和适用场景是什么? #### # 系统设计 From bfe5cbbe964aec6a4bb760b72cceea5cbf0e070c Mon Sep 17 00:00:00 2001 From: Windsooon Date: Thu, 3 Dec 2020 13:16:31 +0800 Subject: [PATCH 09/25] update questions --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index c748c07..ebd1905 100644 --- a/README.md +++ b/README.md @@ -134,7 +134,7 @@ - ▲ 14 Java 线程和操作系统的线程是怎么对应的?Java线程是怎样进行调度的? - ▲ 11 简述 BIO, NIO, AIO 的区别 - ▲ 11 实现单例设计模式(懒汉,饿汉) -- ▲ 8 == 和 equals() 的区别? +- ▲ 10 == 和 equals() 的区别? - ▲ 8 简述 Spring AOP 的原理 - ▲ 6 简述 Synchronized,Volatile,可重入锁的不同使用场景及优缺点 - ▲ 2 简述 Java 的 happen before 原则 @@ -147,7 +147,7 @@ - ▲ 14 简述 C++ 中智能指针的特点,简述 new 与 malloc 的区别 - ▲ 13 C++ 11 有什么新特性 - ▲ 11 STL 中 vector 与 list 具体是怎么实现的?常见操作的时间复杂度是多少? -- ▲ 7 编译时链接有几种方式?静态链接和动态链接的区别是什么? +- ▲ 8 编译时链接有几种方式?静态链接和动态链接的区别是什么? - ▲ 5 深拷贝与浅拷贝区别是什么? - ▲ 3 类默认的构造函数是什么? - ▲ 2 const、static 关键字有什么区别 @@ -1115,7 +1115,7 @@ #### # 前端 -- ▲ 9 readyState 的不同返回值有什么区别? +- ▲ 10 readyState 的不同返回值有什么区别? - ▲ 8 简述 React 的生命周期 - ▲ 8 了解 XSS 攻击吗?如何防止 XSS 攻击? - ▲ 6 promise 有哪些状态?简述 promise.all 的实现原理 From 3fe8147a4653992c486b1a34229cba83eca8500f Mon Sep 17 00:00:00 2001 From: Windson Yang Date: Tue, 22 Dec 2020 11:39:05 +0800 Subject: [PATCH 10/25] update nums --- README.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index ebd1905..7f1ebf8 100644 --- a/README.md +++ b/README.md @@ -6,13 +6,13 @@ ## 相关项目 -- [大厂高频面经面试题(每天更新)](https://osjobs.net/topk/) +- [大厂高频面试题(每天更新)](https://osjobs.net/topk/) - [程序员简历例句](https://github.com/resumejob/awesome-resume) - [免费项目实战课程](https://github.com/resumejob/free-project-course) ## 高频面试题 -根据国内外论坛收集超过 1800 篇真实面经,包括腾讯,阿里,字节跳动,Shopee,美团,滴滴,百度,京东等公司的真实高频面试题。 +根据国内外论坛收集超过 2000 篇真实面经,包括腾讯,阿里,字节跳动,Shopee,美团,滴滴,百度,京东等公司的真实高频面试题。 ### 目录 - [腾讯](#腾讯) @@ -124,7 +124,7 @@ ## 腾讯 #### # Java -- ▲ 38 HashMap 与 ConcurrentHashMap 的实现原理是怎样的?ConcurrentHashMap 是如何保证线程安全的? +- ▲ 40 HashMap 与 ConcurrentHashMap 的实现原理是怎样的?ConcurrentHashMap 是如何保证线程安全的? - ▲ 27 volatile 关键字解决了什么问题,它的实现原理是什么? - ▲ 26 Java 中垃圾回收机制中如何判断对象需要回收?常见的 GC 回收算法有哪些? - ▲ 26 synchronized 关键字底层是如何实现的?它与 Lock 相比优缺点分别是什么? @@ -1115,8 +1115,8 @@ #### # 前端 -- ▲ 10 readyState 的不同返回值有什么区别? -- ▲ 8 简述 React 的生命周期 +- ▲ 12 readyState 的不同返回值有什么区别? +- ▲ 9 简述 React 的生命周期 - ▲ 8 了解 XSS 攻击吗?如何防止 XSS 攻击? - ▲ 6 promise 有哪些状态?简述 promise.all 的实现原理 - ▲ 6 promise 有哪些状态?简述 promise.all 的实现原理 From 0c17173517ace7542fbf05f892b53574a58f4f7a Mon Sep 17 00:00:00 2001 From: Windson Yang Date: Thu, 7 Jan 2021 11:02:43 +0800 Subject: [PATCH 11/25] update des --- README.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/README.md b/README.md index 7f1ebf8..bb2df7d 100644 --- a/README.md +++ b/README.md @@ -14,6 +14,11 @@ 根据国内外论坛收集超过 2000 篇真实面经,包括腾讯,阿里,字节跳动,Shopee,美团,滴滴,百度,京东等公司的真实高频面试题。 +## 为什么不提供答案? + +1. 仓库中列出的面试问题在搜索引擎都能找到大量的参考资料,大家在搜索答案的过程或许会对问题本身有更深的了解并且能够培养分辨正确答案的能力。 +2. 如果提供答案的话,可能会造成背答案的情况出现,而在面试过程中背答案是非常容易被辨别出来以及降低评价的。 + ### 目录 - [腾讯](#腾讯) - Java From 9a8e748b61c548f3534efae46d1f6aa999772db3 Mon Sep 17 00:00:00 2001 From: Windson Yang Date: Thu, 21 Jan 2021 11:37:57 +0800 Subject: [PATCH 12/25] update questions --- README.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index 1d5d025..ad7ed9d 100644 --- a/README.md +++ b/README.md @@ -971,7 +971,7 @@ - ▲ 12 Java 中垃圾回收机制中如何判断对象需要回收?常见的 GC 回收算法有哪些? - ▲ 11 简述 CAS 原理,什么是 ABA 问题,怎么解决? - ▲ 9 简述 Synchronized,Volatile,可重入锁的不同使用场景及优缺点 -- ▲ 8 简述 JVM 的内存模型 JVM 内存是如何对应到操作系统内存的? +- ▲ 9 简述 JVM 的内存模型 JVM 内存是如何对应到操作系统内存的? - ▲ 8 == 和 equals() 的区别? - ▲ 7 实现单例设计模式(懒汉,饿汉) - ▲ 6 Java 常见锁有哪些?ReetrantLock 是怎么实现的? @@ -1015,7 +1015,7 @@ - ▲ 12 MySQL 为什么使用 B+ 树来作索引,对比 B 树它的优点和缺点是什么? - ▲ 8 简述什么是最左匹配原则 -- ▲ 7 MySQL 联合索引底层原理是什么? +- ▲ 8 MySQL 联合索引底层原理是什么? - ▲ 7 什么情况下会发生死锁,如何解决死锁? - ▲ 7 Redis 如何实现分布式锁? - ▲ 7 简述一致性哈希算法的实现方式及原理,虚拟节点有什么用? @@ -1026,13 +1026,13 @@ #### # 系统设计 - ▲ 6 电商系统中,如何实现秒杀功能?如何解决商品的超卖问题? +- ▲ 5 简述中间件削峰和限流的使用场景 - ▲ 4 如何解决缓存与数据库不一致的问题? -- ▲ 4 简述中间件削峰和限流的使用场景 - ▲ 4 项目上有什么技术难点? #### # 快手 -- ▲ 6 未来的职业规划是什么? +- ▲ 7 未来的职业规划是什么? - ▲ 6 你用过快手吗?说说对对快手的看法,使用上有哪些优缺点 - ▲ 6 实习的内容是什么?最大收获是什么? - ▲ 6 最近在看什么书吗,有没有接触过什么新技术? @@ -1041,7 +1041,7 @@ #### # 前端 -- ▲ 10 简述 Javascript 原型以及原型链 +- ▲ 11 简述 Javascript 原型以及原型链 - ▲ 7 CSS 的选择器优先级是怎样? - ▲ 5 简述 Javascript 中 this 的指向有哪些 - ▲ 5 前端如何解决线程安全和进程安全的问题? @@ -1120,13 +1120,13 @@ #### # 前端 -- ▲ 12 readyState 的不同返回值有什么区别? +- ▲ 13 readyState 的不同返回值有什么区别? - ▲ 9 简述 React 的生命周期 - ▲ 8 了解 XSS 攻击吗?如何防止 XSS 攻击? - ▲ 6 promise 有哪些状态?简述 promise.all 的实现原理 - ▲ 4 HTTP 中 GET 和 POST 区别 - ▲ 3 什么是替换元素与非替换元素 -- ▲ 2 简述 ES6 的新特性 +- ▲ 3 简述 ES6 的新特性 - ▲ 2 实现三栏布局 - ▲ 1 正则表达式 /w 是什么意思? - ▲ 1 什么是可继承元素和不可继承元素? From 6faa721f88b00b784a36d83178f2dcab061b67b6 Mon Sep 17 00:00:00 2001 From: Windson Yang Date: Wed, 3 Feb 2021 16:03:09 +0800 Subject: [PATCH 13/25] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E9=A2=98=E5=BA=93?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index ad7ed9d..ff8a58f 100644 --- a/README.md +++ b/README.md @@ -129,7 +129,7 @@ ## 腾讯 #### # Java -- ▲ 40 HashMap 与 ConcurrentHashMap 的实现原理是怎样的?ConcurrentHashMap 是如何保证线程安全的? +- ▲ 41 HashMap 与 ConcurrentHashMap 的实现原理是怎样的?ConcurrentHashMap 是如何保证线程安全的? - ▲ 27 volatile 关键字解决了什么问题,它的实现原理是什么? - ▲ 26 Java 中垃圾回收机制中如何判断对象需要回收?常见的 GC 回收算法有哪些? - ▲ 26 synchronized 关键字底层是如何实现的?它与 Lock 相比优缺点分别是什么? @@ -139,7 +139,7 @@ - ▲ 14 Java 线程和操作系统的线程是怎么对应的?Java线程是怎样进行调度的? - ▲ 11 简述 BIO, NIO, AIO 的区别 - ▲ 11 实现单例设计模式(懒汉,饿汉) -- ▲ 10 == 和 equals() 的区别? +- ▲ 11 == 和 equals() 的区别? - ▲ 8 简述 Spring AOP 的原理 - ▲ 6 简述 Synchronized,Volatile,可重入锁的不同使用场景及优缺点 - ▲ 2 简述 Java 的 happen before 原则 @@ -182,7 +182,7 @@ #### # 网络协议 - ▲ 41 简述 TCP 三次握手以及四次挥手的流程。为什么需要三次握手以及四次挥手? -- ▲ 32 RestFul 与 RPC 的区别是什么?RestFul 的优点在哪里? +- ▲ 34 RestFul 与 RPC 的区别是什么?RestFul 的优点在哪里? - ▲ 29 HTTP 与 HTTPS 有哪些区别? - ▲ 26 RestFul 是什么?RestFul 请求的 URL 有什么特点? - ▲ 23 一次 HTTP 的请求过程中发生了什么? From ffbfb65fd74c022f6280230e7dfa65da00fee5c5 Mon Sep 17 00:00:00 2001 From: Windson Yang Date: Mon, 8 Feb 2021 21:02:37 +0800 Subject: [PATCH 14/25] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E9=A2=98=E7=9B=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index ff8a58f..5d3b1e4 100644 --- a/README.md +++ b/README.md @@ -875,15 +875,15 @@ - ▲ 5 简述浏览器事件循环机制 - ▲ 4 promise 有哪些状态?简述 promise.all 的实现原理 - ▲ 4 数组去重有哪些方式?手写数组去重 +- ▲ 4 如何实现 div 元素水平垂直居中 - ▲ 4 Vue 组件间是如何进行通信的? - ▲ 3 sessionStorage 和 localStorage 有什么区别? - ▲ 3 什么情况下引起重排和重绘?改变 color 会吗?改变 margin 会吗? - ▲ 2 CSS3 有哪些新特性 - ▲ 2 如何使用 flex 实现两栏布局? - ▲ 2 CSS 的 position 常用值有哪些,有什么区别? -- ▲ 1 CSS3 如何实现渐变色? +- ▲ 2 CSS3 如何实现渐变色? - ▲ 1 flex 常用的属性有哪些?flex: 1 1 0 是什么意思? -- ▲ 1 如何实现 div 元素水平垂直居中 - ▲ 1 什么情况下 z-index 不生效? ## 京东 @@ -925,7 +925,7 @@ - ▲ 8 JVM 中内存模型是怎样的,简述新生代与老年代的区别? - ▲ 5 反转链表 (Leetcode) -- ▲ 3 快速排序的空间复杂度是多少?时间复杂度的最好最坏的情况是多少,有哪些优化方案? +- ▲ 4 快速排序的空间复杂度是多少?时间复杂度的最好最坏的情况是多少,有哪些优化方案? - ▲ 3 堆排序的时间复杂度是多少?说几个堆排序的应用场景 - ▲ 3 不稳定的排序算法有哪些? - ▲ 2 简述内部排序以及外部排序的常见算法 @@ -977,10 +977,10 @@ - ▲ 6 Java 常见锁有哪些?ReetrantLock 是怎么实现的? - ▲ 6 synchronized 关键字底层是如何实现的?它与 Lock 相比优缺点分别是什么? - ▲ 5 JVM 中内存模型是怎样的,简述新生代与老年代的区别? +- ▲ 5 如何解决 TCP 传输丢包问题? - ▲ 5 volatile 关键字解决了什么问题,它的实现原理是什么? - ▲ 4 线程池是如何实现的?简述线程池的任务策略 - ▲ 3 简述 Spring 注解的实现原理 -- ▲ 2 如何解决 TCP 传输丢包问题? #### # 操作系统 @@ -1063,11 +1063,11 @@ #### # 拼多多 - ▲ 7 指针和引用的区别是什么? +- ▲ 7 简述 vector 的实现原理 - ▲ 4 C++ 11 有什么新特性 - ▲ 4 C++ 中智能指针和指针的区别是什么? - ▲ 4 C++ 中虚函数与纯虚函数的区别 - ▲ 4 STL 中 vector 与 list 具体是怎么实现的?常见操作的时间复杂度是多少? -- ▲ 2 简述 vector 的实现原理 #### # 操作系统 @@ -1084,7 +1084,7 @@ - ▲ 6 从输入 URL 到展现页面的全过程 - ▲ 4 简述 HTTPS 的加密与认证过程 - ▲ 2 什么是 ARP 协议?简述其使用场景 -- ▲ 1 TCP 如何实现数据有序性? +- ▲ 2 TCP 如何实现数据有序性? #### # 算法 @@ -1093,9 +1093,9 @@ - ▲ 7 反转链表 (Leetcode) - ▲ 5 给定 100G 的 URL 磁盘数据,使用最多 1G 内存,统计出现频率最高的 Top K 个 URL - ▲ 5 翻转二叉树 (Leetcode) +- ▲ 5 字符串解码 (Leetcode) - ▲ 4 简述 LRU 算法及其实现方式 - ▲ 4 什么是排序算法中的稳定性? -- ▲ 4 字符串解码 (Leetcode) - ▲ 3 用队列实现栈 (Leetcode) - ▲ 2 多数元素 (Leetcode) - ▲ 1 最长和谐子序列 (Leetcode) @@ -1125,8 +1125,8 @@ - ▲ 8 了解 XSS 攻击吗?如何防止 XSS 攻击? - ▲ 6 promise 有哪些状态?简述 promise.all 的实现原理 - ▲ 4 HTTP 中 GET 和 POST 区别 -- ▲ 3 什么是替换元素与非替换元素 +- ▲ 4 什么是替换元素与非替换元素 - ▲ 3 简述 ES6 的新特性 -- ▲ 2 实现三栏布局 -- ▲ 1 正则表达式 /w 是什么意思? +- ▲ 3 实现三栏布局 +- ▲ 2 正则表达式 /w 是什么意思? - ▲ 1 什么是可继承元素和不可继承元素? From 7eb02456c5c1982714a6062a2875631922d732df Mon Sep 17 00:00:00 2001 From: Windson Yang Date: Sun, 21 Feb 2021 22:03:16 +0800 Subject: [PATCH 15/25] update questions --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 5d3b1e4..123263a 100644 --- a/README.md +++ b/README.md @@ -206,7 +206,7 @@ - ▲ 21 最大子序和 (Leetcode) - ▲ 20 爬楼梯 (Leetcode) - ▲ 18 用 Rand7() 实现 Rand10() (Leetcode) -- ▲ 15 AVL 树和红黑树有什么区别? +- ▲ 17 AVL 树和红黑树有什么区别? - ▲ 15 给定一个包含 40亿 个无符号整数的大型文件,使用最多 1G 内存,对此文件进行排序 - ▲ 14 合并两个有序链表 (Leetcode) - ▲ 14 路径总和 (Leetcode) @@ -277,7 +277,7 @@ - ▲ 49 HashMap 与 ConcurrentHashMap 的实现原理是怎样的?ConcurrentHashMap 是如何保证线程安全的? - ▲ 41 Java 中垃圾回收机制中如何判断对象需要回收?常见的 GC 回收算法有哪些? - ▲ 34 简述 Synchronized,Volatile,可重入锁的不同使用场景及优缺点 -- ▲ 30 synchronized 关键字底层是如何实现的?它与 Lock 相比优缺点分别是什么? +- ▲ 32 synchronized 关键字底层是如何实现的?它与 Lock 相比优缺点分别是什么? - ▲ 26 JVM 中内存模型是怎样的,简述新生代与老年代的区别? - ▲ 20 简述 Spring AOP 的原理 - ▲ 19 实现单例设计模式(懒汉,饿汉) From b33ae7ca011efde42b85d8825f643499b2c3d880 Mon Sep 17 00:00:00 2001 From: Windson Yang Date: Sat, 6 Mar 2021 15:44:53 +0800 Subject: [PATCH 16/25] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E8=AF=BE=E7=A8=8B?= =?UTF-8?q?=E6=8F=8F=E8=BF=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 22 +++++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 123263a..ac8bd66 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,20 @@ -## 介绍 - -本项目由**海外兔** (https://osjobs.net) 维护,海外兔团队由一线互联网面试官组成,提供海内外公司一对一入职套餐以及算法课程。 - -**入职不成功不收费。详细信息请浏览[求职课程](https://osjobs.net/co/)** +

+ osjobs

海外兔 +

+ +

+ + website + + + contributors + +

+ +

+ 求职课程高频面试题经验采访文章分享
+ ✨ 一对一入职套餐,无需定金,入职不成功不收费,详细信息请浏览求职课程 +

## 相关项目 From 4978d65ae38e94125fcb45367f7a3ed6142d6634 Mon Sep 17 00:00:00 2001 From: Windson Yang Date: Tue, 16 Mar 2021 14:34:21 +0800 Subject: [PATCH 17/25] add img --- imgs/topk.png | Bin 0 -> 43401 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 imgs/topk.png diff --git a/imgs/topk.png b/imgs/topk.png new file mode 100644 index 0000000000000000000000000000000000000000..2cf85006ce42dc7fe3bf1d8924750de2d9bb468f GIT binary patch literal 43401 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 O7JWVATlqQ Date: Tue, 16 Mar 2021 14:40:08 +0800 Subject: [PATCH 18/25] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E4=BB=93=E5=BA=93?= =?UTF-8?q?=E6=A0=B7=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 21 ++++++++++++--------- imgs/topk.png | Bin 43401 -> 37246 bytes 2 files changed, 12 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index ac8bd66..a934c11 100644 --- a/README.md +++ b/README.md @@ -16,20 +16,17 @@ ✨ 一对一入职套餐,无需定金,入职不成功不收费,详细信息请浏览求职课程

-## 相关项目 +![img](https://raw.githubusercontent.com/resumejob/interview-questions/main/imgs/topk.png) -- [大厂高频面试题(每天更新)](https://osjobs.net/topk/) -- [程序员简历例句](https://github.com/resumejob/awesome-resume) -- [免费项目实战课程](https://github.com/resumejob/free-project-course) +根据国内外论坛收集超过 2000 篇真实面经,包括腾讯,阿里,字节跳动,Shopee,美团,滴滴,百度,京东等公司的高频面试题。为获得更好的阅读体验,请通过 [osjobs.net/topk/](https://osjobs.net/topk/) 浏览此仓库内容 -## 高频面试题 -根据国内外论坛收集超过 2000 篇真实面经,包括腾讯,阿里,字节跳动,Shopee,美团,滴滴,百度,京东等公司的真实高频面试题。 +### 其他项目 -## 为什么不提供答案? +- [程序员简历例句](https://github.com/resumejob/awesome-resume) +- [免费项目实战课程](https://github.com/resumejob/free-project-course) -1. 仓库中列出的面试问题在搜索引擎都能找到大量的参考资料,大家在搜索答案的过程或许会对问题本身有更深的了解并且能够培养分辨正确答案的能力。 -2. 如果提供答案的话,可能会造成背答案的情况出现,而在面试过程中背答案是非常容易被辨别出来以及降低评价的。 +
### 目录 - [腾讯](#腾讯) @@ -1142,3 +1139,9 @@ - ▲ 3 实现三栏布局 - ▲ 2 正则表达式 /w 是什么意思? - ▲ 1 什么是可继承元素和不可继承元素? + + +### 为什么不提供答案? + +1. 仓库中列出的面试问题在搜索引擎都能找到大量的参考资料,大家在搜索答案的过程或许会对问题本身有更深的了解并且能够培养分辨正确答案的能力。 +2. 如果提供答案的话,可能会造成背答案的情况出现,而在面试过程中背答案是非常容易被辨别出来以及降低评价的。 diff --git a/imgs/topk.png b/imgs/topk.png index 2cf85006ce42dc7fe3bf1d8924750de2d9bb468f..c75038a2a4b5f68182d1695b57d7d1c14bd98955 100644 GIT binary patch literal 37246 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%0DCfPDmFwZwSuDuRubmYq#zBf6ZyauJAbd%h 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 O7JWVATlqQ Date: Tue, 16 Mar 2021 14:48:09 +0800 Subject: [PATCH 19/25] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E6=A0=B7=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 95 ------------------------------------------------------- 1 file changed, 95 deletions(-) diff --git a/README.md b/README.md index a934c11..6aa6951 100644 --- a/README.md +++ b/README.md @@ -30,110 +30,15 @@ ### 目录 - [腾讯](#腾讯) - - Java - - C++ - - 操作系统 - - 网络协议 - - 算法 - - 数据库 - - 系统设计 - - 非技术 - - 前端 - [阿里](#阿里) - - Java - - C++ - - 操作系统 - - 网络协议 - - 算法 - - 数据库 - - 系统设计 - - 非技术 - - 前端 - [字节跳动](#字节跳动) - - Java - - C++ - - 操作系统 - - 网络协议 - - 算法 - - 数据库 - - 系统设计 - - 非技术 - - 前端 - [Shopee](#shopee) - - Java - - C++ - - 操作系统 - - 网络协议 - - 算法 - - 数据库 - - 系统设计 - - 非技术 - - 前端 - [美团](#美团) - - Java - - C++ - - 操作系统 - - 网络协议 - - 算法 - - 数据库 - - 系统设计 - - 非技术 - - 前端 - [滴滴](#滴滴) - - Java - - C++ - - 操作系统 - - 网络协议 - - 算法 - - 数据库 - - 系统设计 - - 非技术 - - 前端 - - [百度](#百度) - - Java - - C++ - - 操作系统 - - 网络协议 - - 算法 - - 数据库 - - 系统设计 - - 非技术 - - 前端 - - [京东](#京东) - - Java - - C++ - - 操作系统 - - 网络协议 - - 算法 - - 数据库 - - 系统设计 - - 非技术 - - 前端 - - [快手](#快手) - - Java - - C++ - - 操作系统 - - 网络协议 - - 算法 - - 数据库 - - 系统设计 - - 非技术 - - 前端 - - [拼多多](#拼多多) - - Java - - C++ - - 操作系统 - - 网络协议 - - 算法 - - 数据库 - - 系统设计 - - 非技术 - - 前端 - ## 腾讯 From c490fe28b8a3f5a4b3049458e6d63bf76b4f4036 Mon Sep 17 00:00:00 2001 From: Windson Yang Date: Tue, 23 Mar 2021 13:06:30 +0800 Subject: [PATCH 20/25] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E7=9B=B8=E5=85=B3?= =?UTF-8?q?=E9=A1=B9=E7=9B=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 6aa6951..277b454 100644 --- a/README.md +++ b/README.md @@ -20,11 +20,13 @@ 根据国内外论坛收集超过 2000 篇真实面经,包括腾讯,阿里,字节跳动,Shopee,美团,滴滴,百度,京东等公司的高频面试题。为获得更好的阅读体验,请通过 [osjobs.net/topk/](https://osjobs.net/topk/) 浏览此仓库内容 +
-### 其他项目 - -- [程序员简历例句](https://github.com/resumejob/awesome-resume) -- [免费项目实战课程](https://github.com/resumejob/free-project-course) +| 热门项目 | 链接 | +| ----------- | ----------- | +| 简历例句 | https://github.com/resumejob/awesome-resume | +| 大厂高频面经面试题 | https://osjobs.net/topk/ | +| 免费项目实战课程 | https://github.com/resumejob/free-project-course/ |


From 19f937ff64e75250d9e15330b03dac6b3a0bd343 Mon Sep 17 00:00:00 2001 From: Windson Yang Date: Fri, 2 Apr 2021 23:50:46 +0800 Subject: [PATCH 21/25] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E6=A0=BC=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/README.md b/README.md index 277b454..7302029 100644 --- a/README.md +++ b/README.md @@ -18,7 +18,7 @@ ![img](https://raw.githubusercontent.com/resumejob/interview-questions/main/imgs/topk.png) -根据国内外论坛收集超过 2000 篇真实面经,包括腾讯,阿里,字节跳动,Shopee,美团,滴滴,百度,京东等公司的高频面试题。为获得更好的阅读体验,请通过 [osjobs.net/topk/](https://osjobs.net/topk/) 浏览此仓库内容 +根据国内外论坛收集超过 2000 篇真实面经,包括腾讯,阿里,字节跳动,Shopee,美团,滴滴,百度,京东等公司的高频面试题。为获得更好的阅读体验,请通过 [osjobs.net/topk/](https://osjobs.net/topk/) 浏览此仓库内容。题目前面的数字为出现次数。
@@ -45,21 +45,21 @@ ## 腾讯 #### # Java -- ▲ 41 HashMap 与 ConcurrentHashMap 的实现原理是怎样的?ConcurrentHashMap 是如何保证线程安全的? -- ▲ 27 volatile 关键字解决了什么问题,它的实现原理是什么? -- ▲ 26 Java 中垃圾回收机制中如何判断对象需要回收?常见的 GC 回收算法有哪些? -- ▲ 26 synchronized 关键字底层是如何实现的?它与 Lock 相比优缺点分别是什么? -- ▲ 24 简述 JVM 的内存模型 JVM 内存是如何对应到操作系统内存的? -- ▲ 20 集合类中的 List 和 Map 的线程安全版本是什么,如何保证线程安全的? -- ▲ 15 String 类能不能被继承?为什么? -- ▲ 14 Java 线程和操作系统的线程是怎么对应的?Java线程是怎样进行调度的? -- ▲ 11 简述 BIO, NIO, AIO 的区别 -- ▲ 11 实现单例设计模式(懒汉,饿汉) -- ▲ 11 == 和 equals() 的区别? -- ▲ 8 简述 Spring AOP 的原理 -- ▲ 6 简述 Synchronized,Volatile,可重入锁的不同使用场景及优缺点 -- ▲ 2 简述 Java 的 happen before 原则 -- ▲ 1 SpringBoot 是如何进行自动配置的? +- 41次 HashMap 与 ConcurrentHashMap 的实现原理是怎样的?ConcurrentHashMap 是如何保证线程安全的? +- 27次 volatile 关键字解决了什么问题,它的实现原理是什么? +- 26次 Java 中垃圾回收机制中如何判断对象需要回收?常见的 GC 回收算法有哪些? +- 26次 synchronized 关键字底层是如何实现的?它与 Lock 相比优缺点分别是什么? +- 24次 简述 JVM 的内存模型 JVM 内存是如何对应到操作系统内存的? +- 20次 集合类中的 List 和 Map 的线程安全版本是什么,如何保证线程安全的? +- 15次 String 类能不能被继承?为什么? +- 14次 Java 线程和操作系统的线程是怎么对应的?Java线程是怎样进行调度的? +- 11次 简述 BIO, NIO, AIO 的区别 +- 11次 实现单例设计模式(懒汉,饿汉) +- 11次 == 和 equals() 的区别? +- 8次 简述 Spring AOP 的原理 +- 6次 简述 Synchronized,Volatile,可重入锁的不同使用场景及优缺点 +- 2次 简述 Java 的 happen before 原则 +- 1次 SpringBoot 是如何进行自动配置的? #### # C++ - ▲ 16 C++ 中智能指针和指针的区别是什么? From f555386b35afa6983e92d930ce7a769e29111eee Mon Sep 17 00:00:00 2001 From: Windson Yang Date: Fri, 23 Apr 2021 10:36:53 +0800 Subject: [PATCH 22/25] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E6=A0=BC=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 1039 +---------------------------------------------------- 1 file changed, 13 insertions(+), 1026 deletions(-) diff --git a/README.md b/README.md index 7302029..260dfe1 100644 --- a/README.md +++ b/README.md @@ -16,11 +16,7 @@ ✨ 一对一入职套餐,无需定金,入职不成功不收费,详细信息请浏览求职课程

-![img](https://raw.githubusercontent.com/resumejob/interview-questions/main/imgs/topk.png) - -根据国内外论坛收集超过 2000 篇真实面经,包括腾讯,阿里,字节跳动,Shopee,美团,滴滴,百度,京东等公司的高频面试题。为获得更好的阅读体验,请通过 [osjobs.net/topk/](https://osjobs.net/topk/) 浏览此仓库内容。题目前面的数字为出现次数。 - -
+根据国内外论坛收集超过 2000 篇真实面经,包括腾讯,阿里,字节跳动,Shopee,美团,滴滴,百度,京东等公司的高频面试题。 | 热门项目 | 链接 | | ----------- | ----------- | @@ -31,1024 +27,15 @@
### 目录 -- [腾讯](#腾讯) -- [阿里](#阿里) -- [字节跳动](#字节跳动) -- [Shopee](#shopee) -- [美团](#美团) -- [滴滴](#滴滴) -- [百度](#百度) -- [京东](#京东) -- [快手](#快手) -- [拼多多](#拼多多) - -## 腾讯 - -#### # Java -- 41次 HashMap 与 ConcurrentHashMap 的实现原理是怎样的?ConcurrentHashMap 是如何保证线程安全的? -- 27次 volatile 关键字解决了什么问题,它的实现原理是什么? -- 26次 Java 中垃圾回收机制中如何判断对象需要回收?常见的 GC 回收算法有哪些? -- 26次 synchronized 关键字底层是如何实现的?它与 Lock 相比优缺点分别是什么? -- 24次 简述 JVM 的内存模型 JVM 内存是如何对应到操作系统内存的? -- 20次 集合类中的 List 和 Map 的线程安全版本是什么,如何保证线程安全的? -- 15次 String 类能不能被继承?为什么? -- 14次 Java 线程和操作系统的线程是怎么对应的?Java线程是怎样进行调度的? -- 11次 简述 BIO, NIO, AIO 的区别 -- 11次 实现单例设计模式(懒汉,饿汉) -- 11次 == 和 equals() 的区别? -- 8次 简述 Spring AOP 的原理 -- 6次 简述 Synchronized,Volatile,可重入锁的不同使用场景及优缺点 -- 2次 简述 Java 的 happen before 原则 -- 1次 SpringBoot 是如何进行自动配置的? - -#### # C++ -- ▲ 16 C++ 中智能指针和指针的区别是什么? -- ▲ 15 简述 C++ 右值引用与转移语义 -- ▲ 14 简述 vector 的实现原理 -- ▲ 14 简述 C++ 中智能指针的特点,简述 new 与 malloc 的区别 -- ▲ 13 C++ 11 有什么新特性 -- ▲ 11 STL 中 vector 与 list 具体是怎么实现的?常见操作的时间复杂度是多少? -- ▲ 8 编译时链接有几种方式?静态链接和动态链接的区别是什么? -- ▲ 5 深拷贝与浅拷贝区别是什么? -- ▲ 3 类默认的构造函数是什么? -- ▲ 2 const、static 关键字有什么区别 -- ▲ 2 只定义析构函数,会自动生成哪些构造函数? -- ▲ 1 简述 C++ 中内存对齐的使用场景 -- ▲ 1 简述 C++ 从代码到可执行二进制文件的过程 -- ▲ 1 简述 STL 中的 map 的实现原理 - -#### # 操作系统 - -- ▲ 34 进程和线程之间有什么区别? -- ▲ 29 进程间有哪些通信方式? -- ▲ 27 简述 socket 中 select 与 epoll 的使用场景以及区别,epoll 中水平触发以及边缘触发有什么不同? -- ▲ 26 Linux 进程调度中有哪些常见算法以及策略? -- ▲ 18 操作系统如何申请以及管理内存的? -- ▲ 12 简单介绍进程调度的算法 -- ▲ 11 简述 Linux 系统态与用户态,什么时候会进入系统态? -- ▲ 11 简述 LRU 算法及其实现方式 -- ▲ 11 线程间有哪些通信方式? -- ▲ 8 简述同步与异步的区别,阻塞与非阻塞的区别 -- ▲ 8 简述操作系统如何进行内存管理 -- ▲ 7 简述操作系统中的缺页中断 -- ▲ 3 简述操作系统中 malloc 的实现原理 -- ▲ 2 BIO、NIO 有什么区别?怎么判断写文件时 Buffer 已经写满?简述 Linux 的 IO模型 -- ▲ 1 进程空间从高位到低位都有些什么? - -#### # 网络协议 - -- ▲ 41 简述 TCP 三次握手以及四次挥手的流程。为什么需要三次握手以及四次挥手? -- ▲ 34 RestFul 与 RPC 的区别是什么?RestFul 的优点在哪里? -- ▲ 29 HTTP 与 HTTPS 有哪些区别? -- ▲ 26 RestFul 是什么?RestFul 请求的 URL 有什么特点? -- ▲ 23 一次 HTTP 的请求过程中发生了什么? -- ▲ 19 TCP 与 UDP 在网络协议中的哪一层,他们之间有什么区别? -- ▲ 18 TCP 中常见的拥塞控制算法有哪些? -- ▲ 17 TCP 怎么保证可靠传输? -- ▲ 17 从系统层面上,UDP如何保证尽量可靠? -- ▲ 8 TCP 的 keepalive 了解吗?说一说它和 http 的 keepalive 的区别? -- ▲ 8 简述 TCP 滑动窗口以及重传机制 -- ▲ 8 简述 HTTP 1.0,1.1,2.0 的主要区别 -- ▲ 7 简述 TCP 的 TIME_WAIT -- ▲ 5 HTTP 的方法有哪些? -- ▲ 4 简述 TCP 协议的延迟 ACK 和累计应答 -- ▲ 1 简述 TCP 的报文头部结构 -- ▲ 1 简述 TCP 半连接发生场景 -- ▲ 1 什么是 SYN flood,如何防止这类攻击? - -#### # 算法 - -- ▲ 29 10亿个数中如何高效地找到最大的一个数以及最大的第 K 个数 -- ▲ 21 最大子序和 (Leetcode) -- ▲ 20 爬楼梯 (Leetcode) -- ▲ 18 用 Rand7() 实现 Rand10() (Leetcode) -- ▲ 17 AVL 树和红黑树有什么区别? -- ▲ 15 给定一个包含 40亿 个无符号整数的大型文件,使用最多 1G 内存,对此文件进行排序 -- ▲ 14 合并两个有序链表 (Leetcode) -- ▲ 14 路径总和 (Leetcode) -- ▲ 14 如果通过一个不均匀的硬币得到公平的结果? -- ▲ 13 实现快速排序 -- ▲ 13 数组中的第 K 个最大元素 (Leetcode) -- ▲ 13 10亿条数据包括 id,上线时间,下线时间,请绘制每一秒在线人数的曲线图 -- ▲ 13 删除排序链表中的重复元素 (Leetcode) -- ▲ 11 有序链表插入的时间复杂度是多少? -- ▲ 10 Hash 表常见操作的时间复杂度是多少?遇到 Hash 冲突是如何解决的? -- ▲ 9 环形链表 (Leetcode) -- ▲ 6 常用的限流算法有哪些?简述令牌桶算法原理 -- ▲ 4 简述常见的负载均衡算法 -- ▲ 1 反转链表 (Leetcode) -- ▲ 1 第一个只出现一次的字符 (Leetcode) - -#### # 数据库 - -- ▲ 58 MySQL 为什么使用 B+ 树来作索引,对比 B 树它的优点和缺点是什么? -- ▲ 31 数据库的事务隔离级别有哪些?各有哪些优缺点? -- ▲ 24 什么是数据库事务,MySQL 为什么会使用 InnoDB 作为默认选项 -- ▲ 21 什么情况下会发生死锁,如何解决死锁? -- ▲ 21 简述乐观锁以及悲观锁的区别以及使用场景 -- ▲ 19 聚簇索引和非聚簇索引有什么区别?什么情况用聚集索引? -- ▲ 18 简述脏读和幻读的发生场景,InnoDB 是如何解决幻读的? -- ▲ 17 唯一索引与普通索引的区别是什么?使用索引会有哪些优缺点? -- ▲ 11 Redis 如何实现延时队列,分布式锁的实现原理 -- ▲ 9 简述 Redis 中如何防止缓存雪崩和缓存击穿 -- ▲ 9 简述 Redis 持久化中 rdb 以及 aof 方案的优缺点 -- ▲ 6 MySQL 的索引什么情况下会失效? -- ▲ 5 简述 MySQL 的主从同步机制,如果同步失败会怎么样? -- ▲ 5 简述数据库中的 ACID 分别是什么? -- ▲ 4 Kafka 发送消息是如何保证可靠性的? -- ▲ 3 简述 Redis 中跳表的应用以及优缺点 -- ▲ 1 假设Redis 的 master 节点宕机了,你会怎么进行数据恢复? -- ▲ 1 假设建立联合索引 (a, b, c) 如果对字段 a 和 c 查询,会用到这个联合索引吗? - -#### # 系统设计 - -- ▲ 9 电商系统中,如何实现秒杀功能?如何解决商品的超卖问题? -- ▲ 1 假如明天是活动高峰?QPS 预计会翻10倍,你要怎么做? - -#### # 非技术 - -- ▲ 14 对加班有什么看法? -- ▲ 10 你的优势和劣势是什么? -- ▲ 7 与同事沟通的时候,如果遇到冲突了如何解决? -- ▲ 1 最近一年内遇到的最有挑战的事情是什么? - -#### # 前端 - -- ▲ 20 Vue 中双向数据绑定的实现原理是怎样的? -- ▲ 11 简述 Javascript 原型以及原型链 -- ▲ 11 简述 Vue 的生命周期 -- ▲ 11 简述浏览器的缓存机制 -- ▲ 9 简述 diff 算法的实现机制和使用场景 -- ▲ 9 简述虚拟 dom 实现原理 -- ▲ 7 简述图片的懒加载原理 -- ▲ 6 简述 Javascript 中的防抖与节流的原理并尝试实现 -- ▲ 5 什么是闭包,什么是立即执行函数,它的作用是什么?简单说一下闭包的使用场景 -- ▲ 4 简述浏览题事件循环机制 -- ▲ 4 localstorage 与 cookie 的区别是什么? - -## 阿里 - -#### # Java - -- ▲ 49 HashMap 与 ConcurrentHashMap 的实现原理是怎样的?ConcurrentHashMap 是如何保证线程安全的? -- ▲ 41 Java 中垃圾回收机制中如何判断对象需要回收?常见的 GC 回收算法有哪些? -- ▲ 34 简述 Synchronized,Volatile,可重入锁的不同使用场景及优缺点 -- ▲ 32 synchronized 关键字底层是如何实现的?它与 Lock 相比优缺点分别是什么? -- ▲ 26 JVM 中内存模型是怎样的,简述新生代与老年代的区别? -- ▲ 20 简述 Spring AOP 的原理 -- ▲ 19 实现单例设计模式(懒汉,饿汉) -- ▲ 17 Java 是如何实现线程安全的 -- ▲ 16 简述 ArrayList 与 LinkedList 的底层实现以及常见操作的时间复杂度 -- ▲ 16 Java 类的加载流程是怎样的?什么是双亲委派机制? -- ▲ 15 简述 Java 的反射机制 -- ▲ 14 Java 中 sleep() 与 wait() 的区别 -- ▲ 13 Java 线程池里的 arrayblockingqueue 与 linkedblockingqueue 的使用场景和区别 -- ▲ 13 String 类能不能被继承?为什么? -- ▲ 11 Java 中接口和抽象类的区别 -- ▲ 11 JVM 是怎么去调优的?简述过程和调优的结果 -- ▲ 10 hashcode 和 equals 方法的联系 -- ▲ 6 Spring MVC 的原理和流程 -- ▲ 6 手写生产者消费者模型 -- ▲ 5 Java 缓冲流 buffer 的用途和原理是什么? - -#### # C++ - -- ▲ 16 简述 vector 的实现原理 -- ▲ 11 简述 C++ 中智能指针的特点,简述 new 与 malloc 的区别 -- ▲ 10 简述 C++ 编译的过程 -- ▲ 3 C++ 中虚函数与纯虚函数的区别 -- ▲ 2 C++ 中什么是菱形继承问题? -- ▲ 1 C++ 的 vector 和 list中,如果删除末尾的元素,其指针和迭代器如何变化?若删除的是中间的元素呢? -- ▲ 1 C++ 的重载和重写是如何实现的? - -#### # 操作系统 - -- ▲ 36 进程和线程之间有什么区别? -- ▲ 18 进程间有哪些通信方式? -- ▲ 17 简述几个常用的 Linux 命令以及他们的功能。 -- ▲ 13 线程有多少种状态,状态之间如何转换 -- ▲ 11 进程有多少种状态? -- ▲ 7 简述 socket 中 select 与 epoll 的使用场景以及区别,epoll 中水平触发以及边缘触发有什么不同? -- ▲ 5 Linux 下如何排查 CPU 以及 内存占用过多? -- ▲ 3 进程通信中的管道实现原理是什么? -- ▲ 3 Linux 下如何查看 CPU 荷载,正在运行的进程,某个端口对应的进程? -- ▲ 2 如何调试服务器内存占用过高的问题? -- ▲ 2 Linux 如何查看实时的滚动日志? - -#### # 网络协议 - -- ▲ 35 简述 TCP 三次握手以及四次挥手的流程。为什么需要三次握手以及四次挥手? -- ▲ 34 HTTP 与 HTTPS 有哪些区别? -- ▲ 24 TCP 与 UDP 在网络协议中的哪一层,他们之间有什么区别? -- ▲ 21 一次 HTTP 的请求过程中发生了什么? -- ▲ 19 TCP 中常见的拥塞控制算法有哪些? -- ▲ 15 DNS 查询服务器的基本流程是什么?DNS 劫持是什么? -- ▲ 11 Cookie和Session的关系和区别是什么? -- ▲ 7 TCP 怎么保证可靠传输? -- ▲ 4 TCP 中 SYN 攻击是什么?如何防止? -- ▲ 2 TCP 四次挥手的时候 CLOSE_WAIT 的话怎么处理? -- ▲ 2 简述 WebSocket 是如何进行传输的 - -#### # 算法 - -- ▲ 33 10亿个数中如何高效地找到最大的一个数以及最大的第 K 个数 -- ▲ 19 两个 10G 大小包含 URL 数据的文件,最多使用 1G 内存,将这两个文件合并,并找到相同的 URL -- ▲ 15 二叉树的层序遍历 -- ▲ 12 常用的排序方式有哪些,时间复杂度是多少? -- ▲ 12 用 Rand7() 实现 Rand10() (Leetcode) -- ▲ 11 使用递归及非递归两种方式实现快速排序 -- ▲ 10 实现 LRU 算法,实现带有过期时间的 LRU 算法 -- ▲ 10 如何随机生成不重复的 10个100 以内的数字? -- ▲ 9 二叉树的最近公共祖先 (Leetcode 236) -- ▲ 7 如何实现大数运算 -- ▲ 4 反转链表 (Leetcode) -- ▲ 3 用栈实现队列 (Leetcode) -- ▲ 2 1000台 机器,每台机器 1000个 文件,每个文件存储了 10亿个 整数,如何找到其中最小的 1000个 值? -- ▲ 1 两个文件包含无序的数字,数字的大小范围是0-500w左右。如何求两个文件中的重复的数据? -- ▲ 1 最长公共子序列 (Leetcode) -- ▲ 1 链表倒数第K个数 (Leetcode) -- ▲ 1 按序打印 (Leetcode) - -#### # 数据库 - -- ▲ 52 MySQL 为什么使用 B+ 树来作索引,对比 B 树它的优点和缺点是什么? -- ▲ 33 数据库的事务隔离级别有哪些?各有哪些优缺点? -- ▲ 26 简述乐观锁以及悲观锁的区别以及使用场景 -- ▲ 20 简述一致性哈希算法的实现方式及原理 -- ▲ 18 简述脏读和幻读的发生场景,InnoDB 是如何解决幻读的? -- ▲ 16 简述 Redis 持久化中 rdb 以及 aof 方案的优缺点 -- ▲ 14 什么情况下会发生死锁,如何解决死锁? -- ▲ 14 SQL优化的方案有哪些,如何定位问题并解决问题? -- ▲ 9 Redis的缓存淘汰策略有哪些? -- ▲ 6 简述数据库中什么情况下进行分库,什么情况下进行分表? -- ▲ 5 数据库索引的实现原理是什么? -- ▲ 4 为什么 Redis 在单线程下能如此快? -- ▲ 3 数据库查询中左外连接和内连接的区别是什么? -- ▲ 3 简述什么是最左匹配原则 -- ▲ 2 数据库的读写分离的作用是什么?如何实现? -- ▲ 2 简述 Redis 中跳表的应用以及优缺点 -- ▲ 1 Redis 中,sentinel和 cluster 的区别和适用场景是什么? - -#### # 系统设计 - -- ▲ 16 什么是 CAP ?什么是最终一致性?什么是幂等操作? -- ▲ 14 电商系统中,如何实现秒杀功能?如何解决商品的超卖问题? - -#### # 非技术 - -- ▲ 21 最近阅读哪些技术书籍,遇到技术问题是怎么去解决? -- ▲ 9 与同事沟通的时候,如果遇到冲突了如何解决? -- ▲ 8 你的优势和劣势是什么? -- ▲ 2 团队合作沟通中遇到过什么问题? -- ▲ 1 简单描述一下自己是怎么样的人? -- ▲ 1 为什么要离开现在的公司? -- ▲ 1 目前为止,坚持得最久一件事情是什么? - -#### # 前端 - -- ▲ 11 promise 有哪些状态?简述 promise.all 的实现原理 -- ▲ 8 简述 CORS 的用途以及基本设置 -- ▲ 8 简述 JWT 的原理和校验机制 -- ▲ 4 localstorage 与 cookie 的区别是什么? - -## 字节跳动 - -#### # Java - -- ▲ 20 Java 中垃圾回收机制中如何判断对象需要回收?常见的 GC 回收算法有哪些? -- ▲ 18 synchronized 关键字底层是如何实现的?它与 Lock 相比优缺点分别是什么? -- ▲ 17 hashmap 和 hashtable 的区别是什么? -- ▲ 15 HashMap 与 ConcurrentHashMap 的实现原理是怎样的?ConcurrentHashMap 是如何保证线程安全的? -- ▲ 11 HashMap 实现原理,为什么使用红黑树? -- ▲ 9 hashMap 1.7 / 1.8 的实现区别 -- ▲ 9 简述 Java的反射机制 -- ▲ 6 Java 线程间有多少通信方式? -- ▲ 6 简述 Synchronized,volatile,可重入锁的不同使用场景及优缺点 -- ▲ 6 Java 类的加载流程是怎样的?什么是双亲委派机制? -- ▲ 5 简述常见的工厂模式以及单例模式的使用场景 -- ▲ 5 JVM 中内存模型是怎样的,简述新生代与老年代的区别? -- ▲ 3 Java 常见锁有哪些?ReetrantLock 是怎么实现的? -- ▲ 3 ThreadLocal 实现原理是什么? -- ▲ 3 简述 Spring 的初始化流程 -- ▲ 3 简述生产者消费者模型 -- ▲ 1 Java 如何高效进行数组拷贝 -- ▲ 1 CAS 实现原理是什么? -- ▲ 1 成员变量和方法的区别? -- ▲ 1 Java 中接口和抽象类的区别 - -#### # C++ - -- ▲ 11 简述 C++ 右值引用与转移语义 -- ▲ 11 const、static 关键字有什么区别 -- ▲ 11 C++的多态是如何实现的? -- ▲ 11 C++ 中解释类模板和模板类的区别 -- ▲ 8 C++ 中哪些函数不能被声明为虚函数? -- ▲ 4 C++ 中虚函数与纯虚函数的区别 -- ▲ 3 简述 C++ 中内存对齐的使用场景 -- ▲ 1 构造函数为什么不能被声明为虚函数? -- ▲ 1 什么是内存泄漏,怎么确定内存泄漏? - -#### # 操作系统 - -- ▲ 23 进程间有哪些通信方式? -- ▲ 15 操作系统如何申请以及管理内存的? -- ▲ 13 简述 socket 中 select 与 epoll 的使用场景以及区别,epoll 中水平触发以及边缘触发有什么不同? -- ▲ 9 操作系统中,虚拟地址与物理地址之间如何映射? -- ▲ 8 I/O多路复用中 select, poll, epoll之间有什么区别,各自支持的最大描述符上限以及原因是什么? -- ▲ 6 简述操作系统中的缺页中断 -- ▲ 5 进程和线程之间有什么区别? -- ▲ 4 两个线程交替打印一个共享变量 -- ▲ 4 简述 mmap 的使用场景以及原理 -- ▲ 3 Linux 中虚拟内存和物理内存有什么区别?有什么优点? -- ▲ 2 什么时候会由用户态陷入内核态? -- ▲ 1 简述 traceroute 命令的原理 -- ▲ 1 简述 Linux 零拷贝的原理 -- ▲ 1 简单介绍进程调度的算法 -- ▲ 1 什么情况下,进程会进行切换? -- ▲ 1 简述自旋锁与互斥锁的使用场景 - -#### # 网络协议 - -- ▲ 13 TCP 中常见的拥塞控制算法有哪些? -- ▲ 11 TCP 怎么保证可靠传输? -- ▲ 9 一次 HTTP 的请求过程中发生了什么? -- ▲ 9 简述常见的 HTTP 状态码的含义(301,304,401,403) -- ▲ 9 简述 TCP 三次握手以及四次挥手的流程。为什么需要三次握手以及四次挥手? -- ▲ 8 TCP的拥塞控制具体是怎么实现的?UDP有拥塞控制吗? -- ▲ 8 简述 HTTPS 的加密与认证过程 -- ▲ 8 什么是跨域,什么情况下会发生跨域请求? -- ▲ 5 DNS 查询服务器的基本流程是什么?DNS 劫持是什么? -- ▲ 4 简述对称与非对称加密的概念 -- ▲ 4 简述 OSI 七层模型,TCP,IP 属于哪一层? -- ▲ 4 HTTP 的方法有哪些? -- ▲ 3 简述 TCP 滑动窗口以及重传机制 -- ▲ 1 TCP四次挥手过程以及所处状态,为什么还需要有 time_wait? -- ▲ 1 TCP 在什么情况下服务端会出现大量 CLOSE_WAIT ? - -#### # 算法 - -- ▲ 22 给定 100G 的 URL 磁盘数据,使用最多 1G 内存,统计出现频率最高的 Top K 个 URL -- ▲ 19 10亿个数中如何高效地找到最大的一个数以及最大的第 K 个数 -- ▲ 17 合并两个有序链表 (Leetcode) -- ▲ 17 64 匹马,8 个赛道,找出前 4 匹马最少需要比几次; -- ▲ 14 实现快速排序 -- ▲ 14 两数相加 II (Leetcode 445) -- ▲ 12 搜索旋转排序数组 (Leetcode) -- ▲ 12 判断有环链表的环长度 (Leetcode) -- ▲ 12 旋转数组的最小数字 (Leetcode) -- ▲ 11 最大子序和 (Leetcode) -- ▲ 11 给定一个 foo 函数,60%的概率返回0,40%的概率返回1,如何利用 foo 函数实现一个 50% 返回 0 的函数? -- ▲ 11 搜索旋转排序数组 II (Leetcode) -- ▲ 10 K 个一组翻转链表 (Leetcode 25) -- ▲ 9 最长连续子序列 (Leetcode) -- ▲ 9 二叉树的最近公共祖先 (Leetcode 236) -- ▲ 8 最小栈 (Leetcode) -- ▲ 8 丑数 II (Leetcode 264) -- ▲ 8 路径总和 (Leetcode) -- ▲ 8 二叉树的锯齿形层次遍历 (Leetcode) -- ▲ 7 旋转数组 (Leetcode) - -#### # 数据库 - -- ▲ 22 MySQL 为什么使用 B+ 树来作索引,对比 B 树它的优点和缺点是什么? -- ▲ 15 数据库的事务隔离级别有哪些?各有哪些优缺点? -- ▲ 13 Redis 序列化有哪些方式? -- ▲ 12 简述 Redis 持久化中 rdb 以及 aof 方案的优缺点 -- ▲ 12 简述 Redis 的哨兵机制 -- ▲ 12 Redis 如何实现分布式锁? -- ▲ 11 简述 Redis 中如何防止缓存雪崩和缓存击穿 -- ▲ 7 简述乐观锁以及悲观锁的区别以及使用场景 -- ▲ 6 数据库有哪些常见索引?数据库设计的范式是什么? -- ▲ 4 Redis 有几种数据结构?Zset 是如何实现的? -- ▲ 4 Cookie和Session的关系和区别是什么? -- ▲ 4 Redis 中 key 的过期策略有哪些? -- ▲ 3 什么情况下会发生死锁,如何解决死锁? -- ▲ 3 并发事务会引发哪些问题?如何解决? -- ▲ 2 简述数据库中的 ACID 分别是什么? -- ▲ 2 MySQL 中 join 与 left join 的区别是什么? -- ▲ 1 简述 MySQL 三种日志的使用场景 -- ▲ 1 模糊查询是如何实现的? - -#### # 系统设计 - -- ▲ 14 简述 CAP 理论 -- ▲ 2 简述生产消费者模式的流程 -- ▲ 1 设计一个阻塞队列 -- ▲ 1 简述 MapReduce 的原理 -- ▲ 1 停车场有有限个车位,有多个车来抢车位,设计一个系统需要根据车辆进入和离开停车场的时间进行计费 - -#### # 非技术 - -- ▲ 6 项目中最难的地方是哪里?你学习到了什么? - -#### # 前端 - -- ▲ 25 手写题库 https://github.com/Mayandev/fe-interview-handwrite -- ▲ 12 简述浏览器的渲染过程,重绘和重排在渲染过程中的哪一部分? -- ▲ 11 简述 diff 算法的实现机制和使用场景 -- ▲ 9 什么是闭包,什么是立即执行函数,它的作用是什么?简单说一下闭包的使用场景 -- ▲ 9 promise 有哪些状态?简述 promise.all 的实现原理 -- ▲ 9 简述什么是 XSS 攻击以及 CSRF 攻击? -- ▲ 9 localstorage 与 cookie 的区别是什么? -- ▲ 8 Vue 中双向数据绑定的实现原理是怎样的? -- ▲ 8 简述 CSS 有哪些上下文类型? -- ▲ 5 简述 ES6 的新特性 -- ▲ 5 了解过 Gulp Grunt 吗?简述他们的优势以及劣势 -- ▲ 4 Javascript 可以保存的最大数值是多少? -- ▲ 4 优化首屏渲染的方式有哪几种? -- ▲ 3 JavaScript 中的严格模式是什么,有什么作用? - -## Shopee - -#### # Java - -- ▲ 14 Java 中垃圾回收机制中如何判断对象需要回收?常见的 GC 回收算法有哪些? -- ▲ 12 简述 ArrayList 与 LinkedList 的底层实现以及常见操作的时间复杂度 -- ▲ 9 实现单例设计模式(懒汉,饿汉) -- ▲ 9 Java 类的加载流程是怎样的?什么是双亲委派机制? -- ▲ 8 HashMap 与 ConcurrentHashMap 的实现原理是怎样的?ConcurrentHashMap 是如何保证线程安全的? -- ▲ 8 HashMap 实现原理,为什么使用红黑树? -- ▲ 6 常用的排序方式有哪些,时间复杂度是多少? -- ▲ 3 volatile 关键字解决了什么问题,它的实现原理是什么? -- ▲ 2 JVM 中内存模型是怎样的,简述新生代与老年代的区别? -- ▲ 2 简述 SortedSet 实现原理 -- ▲ 2 简述使用协程的优点 -- ▲ 1 Java 编译后的 .class 文件包含了什么内容? -- ▲ 1 什么是公平锁?什么是非公平锁? -- ▲ 1 如何判断一个 Hash 函数好不好? - -#### # 操作系统 - -- ▲ 10 进程和线程之间有什么区别? -- ▲ 7 进程通信中的管道实现原理是什么? -- ▲ 5 进程间有哪些通信方式? -- ▲ 5 Linux 下如何排查 CPU 以及 内存占用过多? -- ▲ 3 简述 Linux 虚拟内存的页面置换算法 -- ▲ 3 简单介绍进程调度的算法 -- ▲ 2 LVS 的 NAT、TUN、DR 原理及区别 -- ▲ 1 系统调用的过程是怎样的?操作系统是通过什么机制触发系统调用的? - -#### # 网络协议 - -- ▲ 19 HTTP 与 HTTPS 有哪些区别? -- ▲ 12 TCP 与 UDP 在网络协议中的哪一层,他们之间有什么区别? -- ▲ 8 简述什么是 XSS 攻击以及 CSRF 攻击? -- ▲ 6 简述 TCP 中的拥塞控制与滑动窗口机制 -- ▲ 5 简述 TCP 三次握手以及四次挥手的流程。为什么需要三次握手以及四次挥手? -- ▲ 5 简述 HTTP 1.0,1.1,2.0 的主要区别 -- ▲ 4 SSL握手流程为什么要使用对称秘钥? -- ▲ 3 简述 JWT 的原理和校验机制 -- ▲ 3 TCP 的 keepalive 了解吗?说一说它和 http 的 keepalive 的区别? -- ▲ 2 一次 HTTP 的请求过程中发生了什么? -- ▲ 2 DNS 查询服务器的基本流程是什么?DNS 劫持是什么? - -#### # 算法 - -- ▲ 8 快速排序的空间复杂度是多少?时间复杂度的最好最坏的情况是多少,有哪些优化方案? -- ▲ 5 环形链表 (Leetcode) -- ▲ 5 用栈实现队列 (Leetcode) -- ▲ 4 AVL 树和红黑树有什么区别? -- ▲ 4 10亿个数中如何高效地找到最大的一个数以及最大的第 K 个数 -- ▲ 3 数组中的逆序对 (Leetcode) -- ▲ 2 如何从一个数组输出随机数组 -- ▲ 2 寻找旋转排序数组中的最小值 (leetcode) -- ▲ 2 红黑树是怎么实现平衡的?它的优点是什么? -- ▲ 1 和为 K 的子数组 (Leetcode) - -#### # 数据库 - -- ▲ 13 简述乐观锁以及悲观锁的区别以及使用场景 -- ▲ 12 数据库的事务隔离级别有哪些?各有哪些优缺点? -- ▲ 11 为什么 Redis 在单线程下能如此快? -- ▲ 9 MySQL 为什么使用 B+ 树来作索引,对比 B 树它的优点和缺点是什么? -- ▲ 5 什么情况下会发生死锁,如何解决死锁? -- ▲ 3 数据库有哪些常见索引?数据库设计的范式是什么? -- ▲ 3 简述 SQL 中左连接和右连接的区别 -- ▲ 3 数据库的读写分离的作用是什么?如何实现? -- ▲ 2 简述数据库中的 ACID 分别是什么? -- ▲ 2 什么是数据库事务,MySQL 为什么会使用 InnoDB 作为默认选项 -- ▲ 2 Redis 中,sentine l和 cluster 的区别和适用场景是什么? - -#### # 系统设计 - -▲ 8 简述 CAP 理论 - -#### # 非技术 - -- ▲ 7 你对 Shopee 了解多少?你选择 Shopee 的原因是什么? -- ▲ 1 你的老师和同学是如何评价你的? -- ▲ 1 最近在看什么书以及技术文章? - -## 美团 - -#### # Java - -- ▲ 22 HashMap 与 ConcurrentHashMap 的实现原理是怎样的?ConcurrentHashMap 是如何保证线程安全的? -- ▲ 22 Java 中垃圾回收机制中如何判断对象需要回收?常见的 GC 回收算法有哪些? -- ▲ 19 Java 的线程有哪些状态,转换关系是怎么样的? -- ▲ 18 synchronized 关键字底层是如何实现的?它与 Lock 相比优缺点分别是什么? -- ▲ 15 Java 怎么防止内存溢出 -- ▲ 13 简述常见的工厂模式以及单例模式的使用场景 -- ▲ 12 简述 BIO, NIO, AIO 的区别 -- ▲ 11 Java 类的加载流程是怎样的?什么是双亲委派机制? -- ▲ 11 简述 ArrayList 与 LinkedList 的底层实现以及常见操作的时间复杂度 -- ▲ 11 实现单例模式 -- ▲ 9 volatile 关键字解决了什么问题,它的实现原理是什么? -- ▲ 9 hashcode 和 equals 方法的联系 -- ▲ 9 什么是重写和重载? -- ▲ 7 简述 JVM 的内存模型 JVM 内存是如何对应到操作系统内存的? -- ▲ 7 JVM 中内存模型是怎样的,简述新生代与老年代的区别? -- ▲ 5 简述装饰者模式以及适配器模式 -- ▲ 5 什么情况下会发生死锁,如何解决死锁? -- ▲ 4 简述 Java 中 final 关键字的作用 -- ▲ 4 ThreadLocal 实现原理是什么? - -#### # 操作系统 - -- ▲ 19 进程和线程之间有什么区别? -- ▲ 12 进程间有哪些通信方式? -- ▲ 4 多线程和多进程的区别是什么? -- ▲ 3 为什么进程切换慢,线程切换快? - -#### # 网络协议 - -- ▲ 18 TCP 怎么保证可靠传输? -- ▲ 17 HTTP 与 HTTPS 有哪些区别? -- ▲ 15 TCP 与 UDP 在网络协议中的哪一层,他们之间有什么区别? -- ▲ 14 简述 TCP 三次握手以及四次挥手的流程。为什么需要三次握手以及四次挥手? -- ▲ 13 TCP长连接和短连接有那么不同的使用场景? -- ▲ 10 HTTP 中 GET 和 POST 区别 -- ▲ 8 TCP 与 UDP 在网络协议中的哪一层,他们之间有什么区别? -- ▲ 4 什么是 ARP 协议? - -#### # 算法 - -- ▲ 15 实现快速排序 -- ▲ 15 简述 LRU 算法及其实现方式 -- ▲ 14 按序打印 (Leetcode) -- ▲ 12 二叉树的前序遍历 (Leetcode) -- ▲ 11 数组中的第 K 个最大元素 (Leetcode) -- ▲ 11 旋转图像 (Leetcode) -- ▲ 11 剑指 Offer 10- II. 青蛙跳台阶问题 -- ▲ 11 链表倒数第K个数 (Leetcode) -- ▲ 9 多数元素 (Leetcode) -- ▲ 7 用栈实现队列 (Leetcode) -- ▲ 6 搜索旋转排序数组 (Leetcode) -- ▲ 6 两数相加 - -#### # 数据库 - -- ▲ 19 简述乐观锁以及悲观锁的区别以及使用场景 -- ▲ 17 简述 MySQL 常见索引数据,介绍一下覆盖索引 -- ▲ 17 简述事务的四大特性 -- ▲ 15 Redis 如何实现分布式锁? -- ▲ 14 简述 Redis 的线程模型以及底层架构设计 -- ▲ 14 简述 Redis 持久化中 rdb 以及 aof 方案的优缺点 -- ▲ 14 为什么 Redis 在单线程下能如此快? -- ▲ 13 MySQL 为什么使用 B+ 树来作索引,对比 B 树它的优点和缺点是什么? -- ▲ 13 简述脏读和幻读的发生场景,InnoDB 是如何解决幻读的? -- ▲ 11 数据库的事务隔离级别有哪些?各有哪些优缺点? -- ▲ 11 简述 Redis 的过期机制和内存淘汰策略 -- ▲ 10 聚簇索引和非聚簇索引有什么区别?什么情况用聚集索引? -- ▲ 10 简述 Redis 的哨兵机制 -- ▲ 10 简述 Redis 如何处理热点 key 访问 -- ▲ 9 什么是数据库事务,MySQL 为什么会使用 InnoDB 作为默认选项 -- ▲ 8 MySQL 有哪些常见的存储引擎? -- ▲ 4 简述 Redis 中常见类型的底层数据结构 - -#### # 系统设计 - -- ▲ 17 电商系统中,如何实现秒杀功能?如何解决商品的超卖问题? -- ▲ 14 简述 CAP 理论 - -#### # 非技术 - -- ▲ 11 下一份工作希望学习到什么? -- ▲ 11 项目中最难的地方是哪里?你学习到了什么? -- ▲ 9 团队合作沟通中遇到过什么问题? -- ▲ 9 最近在看什么书吗,有没有接触过什么新技术? -- ▲ 5 成长过程中影响你最深的事件和人 - -#### # 前端 - -- ▲ 12 简述 Vue 的生命周期 -- ▲ 12 手写题库 https://github.com/Mayandev/fe-interview-handwrite -- ▲ 11 简述项目打包和发布的流程 -- ▲ 11 简述 diff 算法的实现机制和使用场景 -- ▲ 8 简述 react 的生命周期以及通信方式 -- ▲ 8 什么是闭包,什么是立即执行函数,它的作用是什么?简单说一下闭包的使用场景 -- ▲ 7 简述浏览器的垃圾回收机制 -- ▲ 7 移动端适配有哪些方案? -- ▲ 7 简述浏览器的渲染过程,重绘和重排在渲染过程中的哪一部分? -- ▲ 6 MVC 模型和 MVVM 模型的区别 -- ▲ 5 了解 xss 攻击吗?如何防止 xss 攻击? -- ▲ 4 简述 React 中的 Effect Hook 机制 -- ▲ 4 简述 React setstate 原理 -- ▲ 3 简述强缓存与协商缓存的区别和使用场景 - -## 滴滴 - -#### # Java - -- ▲ 8 什么是重写和重载? -- ▲ 7 简述并实现工厂模式,工厂模式有什么常见问题? -- ▲ 5 Java 常见锁有哪些?ReetrantLock 是怎么实现的? -- ▲ 3 HTTP 中 GET 和 POST 区别 -- ▲ 2 Java 有几种基本数据类型,分别占多少字节? -- ▲ 1 Java 中 int 的最大值是多少? -- ▲ 1 简述封装、继承、多态的特性及使用场景 - -#### # 操作系统 - -- ▲ 1 malloc 创建的对象在堆还是栈中? - -#### # 网络协议 - -- ▲ 13 RestFul 是什么?RestFul 请求的 URL 有什么特点? -- ▲ 9 简述 HTTP 1.0,1.1,2.0 的主要区别 -- ▲ 6 什么是跨域,什么情况下会发生跨域请求? -- ▲ 6 Cookie和Session的关系和区别是什么? -- ▲ 6 简述 JWT 的原理和校验机制 -- ▲ 5 如何设计 API 接口使其实现幂等性? -- ▲ 3 简述 TCP 滑动窗口以及重传机制 -- ▲ 3 TCP 中 SYN 攻击是什么?如何防止? - -#### # 算法 - -- ▲ 11 实现快速排序 -- ▲ 8 反转链表 (Leetcode) -- ▲ 8 爬楼梯 (Leetcode) -- ▲ 8 剑指 Offer 10- II. 青蛙跳台阶问题 -- ▲ 5 快速排序的空间复杂度是多少?时间复杂度的最好最坏的情况是多少,有哪些优化方案? -- ▲ 4 实现归并排序 - -#### # 数据库 - -- ▲ 11 联合索引的存储结构是什么? -- ▲ 6 简述 Redis 中如何防止缓存雪崩和缓存击穿 -- ▲ 3 聚簇索引和非聚簇索引有什么区别?什么情况用聚集索引? -- ▲ 3 Redis 如何实现分布式锁? - -#### # 前端 - -- ▲ 22 手写题库 https://github.com/Mayandev/fe-interview-handwrite -- ▲ 15 简述 Javascript 原型以及原型链 -- ▲ 14 Vue 中双向数据绑定的实现原理是怎样的? -- ▲ 14 简述 Javascript 中的防抖与节流的原理并尝试实现 -- ▲ 12 简述 diff 算法的实现机制和使用场景 -- ▲ 12 简述 CORS 的用途以及基本设置 -- ▲ 12 简述输入 URL 到浏览器显示的流程 -- ▲ 12 如何减少页面渲染的时间? -- ▲ 10 简述浏览器的垃圾回收机制 -- ▲ 10 简述浏览器的渲染过程,重绘和重排在渲染过程中的哪一部分? -- ▲ 10 简述 Javascript 中 this 的指向有哪些 -- ▲ 9 简述 jsonp 的工作原理 -- ▲ 9 简述 Javascript 事件冒泡和事件捕获原理 -- ▲ 8 如何解决 CSS 类名重名? -- ▲ 8 简述发布订阅模式的实现方式以及原理 -- ▲ 8 箭头函数和普通函数的区别是什么? -- ▲ 8 简述图片的懒加载原理 -- ▲ 7 简述 Vue 的生命周期 -- ▲ 7 简述常见异步编程方案 (promise, generator, async) 的原理 -- ▲ 6 简述 Javascript 的柯里化与逆柯里化 - -## 百度 - -#### # Java - -- ▲ 7 简述 Java 的反射机制及其应用场景 -- ▲ 6 String 为什么是 final? -- ▲ 6 volatile 关键字解决了什么问题,它的实现原理是什么? - -#### # C++ - -- ▲ 13 简述 C++ 中智能指针的特点,简述 new 与 malloc 的区别 -- ▲ 8 C++ 中多态是怎么实现的 -- ▲ 7 简述 C++ 的内联函数 -- ▲ 6 C++ 是如何进行内存管理的? -- ▲ 3 lambda 函数的特点,和普通函数相比有什么优点? -- ▲ 2 指针和引用的区别是什么? - -#### # 操作系统 - -- ▲ 8 进程和线程之间有什么区别? -- ▲ 7 简单介绍进程调度的算法 -- ▲ 7 简述 socket 中 select 与 epoll 的使用场景以及区别,epoll 中水平触发以及边缘触发有什么不同? - -#### # 网络协议 - -- ▲ 25 从输入 URL 到展现页面的全过程 -- ▲ 13 简述 DDOS 攻击原理,如何防范它? -- ▲ 12 HTTP 与 HTTPS 有哪些区别? -- ▲ 11 TCP 与 UDP 在网络协议中的哪一层,他们之间有什么区别? -- ▲ 11 简述 TCP 三次握手以及四次挥手的流程。为什么需要三次握手以及四次挥手? -- ▲ 8 简述 HTTP 1.0,1.1,2.0 的主要区别 -- ▲ 8 简述 TCP 的 TIME_WAIT -- ▲ 6 简述 BGP 协议和 OSPF 协议的区别 -- ▲ 5 TCP 的 keepalive 了解吗?说一说它和 http 的 keepalive 的区别? -- ▲ 3 traceroute 有什么作用? - -#### # 算法 - -- ▲ 11 给定 100G 的 URL 磁盘数据,使用最多 1G 内存,统计出现频率最高的 Top K 个 URL -- ▲ 11 无重复字符的最长子串 (Leetcode) -- ▲ 9 实现快速排序 -- ▲ 8 手写判断电话号码的正则表达式 -- ▲ 7 10亿个数中如何高效地找到最大的一个数以及最大的第 K 个数 -- ▲ 7 反转链表 (Leetcode) -- ▲ 7 搜索旋转排序数组 (Leetcode) -- ▲ 6 实现快速排序 -- ▲ 5 环形链表 (Leetcode) -- ▲ 2 二叉树的最大深度 (Leetcode) - -#### # 数据库 - -- ▲ 15 MySQL 为什么使用 B+ 树来作索引,对比 B 树它的优点和缺点是什么? -- ▲ 13 什么是数据库事务,MySQL 为什么会使用 InnoDB 作为默认选项 -- ▲ 13 聚簇索引和非聚簇索引有什么区别?什么情况用聚集索引? -- ▲ 13 联合索引的存储结构是什么? -- ▲ 9 简述乐观锁以及悲观锁的区别以及使用场景 -- ▲ 9 redis 如何实现高可用? -- ▲ 6 数据库的事务隔离级别有哪些?各有哪些优缺点? -- ▲ 6 简述 MySQL 三种日志的使用场景 -- ▲ 6 简述 redis 的通信模型 -- ▲ 5 简述数据库中的 ACID 分别是什么? -- ▲ 4 什么情况下会发生死锁,如何解决死锁? - -#### # 非技术 - -- ▲ 9 你的老师和同学是如何评价你的? -- ▲ 7 大学中最具有挑战的事情,怎么解决的? -- ▲ 5 你的优势和劣势是什么? -- ▲ 3 近几年中,最有成就感的一件事是什么? - -#### # 前端 - -- ▲ 17 手写题库 https://github.com/Mayandev/fe-interview-handwrite -- ▲ 9 简述常见异步编程方案 (promise, generator, async) 的原理 -- ▲ 6 简述常见的 HTTP 状态码的含义(301,304,401,403) -- ▲ 5 箭头函数和普通函数的区别是什么? -- ▲ 5 简述浏览器事件循环机制 -- ▲ 4 promise 有哪些状态?简述 promise.all 的实现原理 -- ▲ 4 数组去重有哪些方式?手写数组去重 -- ▲ 4 如何实现 div 元素水平垂直居中 -- ▲ 4 Vue 组件间是如何进行通信的? -- ▲ 3 sessionStorage 和 localStorage 有什么区别? -- ▲ 3 什么情况下引起重排和重绘?改变 color 会吗?改变 margin 会吗? -- ▲ 2 CSS3 有哪些新特性 -- ▲ 2 如何使用 flex 实现两栏布局? -- ▲ 2 CSS 的 position 常用值有哪些,有什么区别? -- ▲ 2 CSS3 如何实现渐变色? -- ▲ 1 flex 常用的属性有哪些?flex: 1 1 0 是什么意思? -- ▲ 1 什么情况下 z-index 不生效? - -## 京东 - -#### # Java - -- ▲ 15 HashMap 与 ConcurrentHashMap 的实现原理是怎样的?ConcurrentHashMap 是如何保证线程安全的? -- ▲ 15 Java 类的加载流程是怎样的?什么是双亲委派机制? -- ▲ 14 hashMap 1.7 / 1.8 的实现区别 -- ▲ 14 String,StringBuffer,StringBuilder 之间有什么区别? -- ▲ 14 简述 ArrayList 与 LinkedList 的底层实现以及常见操作的时间复杂度 -- ▲ 13 线程池是如何实现的?简述线程池的任务策略 -- ▲ 13 简述 CAS 原理,什么是 ABA 问题,怎么解决? -- ▲ 12 volatile 关键字解决了什么问题,它的实现原理是什么? -- ▲ 11 Java 中垃圾回收机制中如何判断对象需要回收?常见的 GC 回收算法有哪些? -- ▲ 11 什么是公平锁?什么是非公平锁? -- ▲ 10 == 和 equals() 的区别? -- ▲ 9 synchronized 关键字底层是如何实现的?它与 Lock 相比优缺点分别是什么? -- ▲ 9 简述常见的工厂模式以及单例模式的使用场景 -- ▲ 9 Java 中接口和抽象类的区别 -- ▲ 9 JAVA 创建多线程的方法有哪些? -- ▲ 8 简述 GC 引用链,G1收集器原理 -- ▲ 7 volatile 关键字解决了什么问题,它的实现原理是什么? -- ▲ 7 简述 Spring 注解的实现原理 -- ▲ 6 Spring MVC 的原理和流程 -- ▲ 6 Java 怎么防止内存溢出 - -#### # 操作系统 - -- ▲ 7 创建线程有多少种方式? -- ▲ 4 线程有多少种状态,状态之间如何转换 -- ▲ 2 简述 CPU L1, L2, L3 多级缓存的基本作用 - -#### # 网络协议 - -▲ 13 简述 TCP 三次握手以及四次挥手的流程。为什么需要三次握手以及四次挥手? - -#### # 算法 - -- ▲ 8 JVM 中内存模型是怎样的,简述新生代与老年代的区别? -- ▲ 5 反转链表 (Leetcode) -- ▲ 4 快速排序的空间复杂度是多少?时间复杂度的最好最坏的情况是多少,有哪些优化方案? -- ▲ 3 堆排序的时间复杂度是多少?说几个堆排序的应用场景 -- ▲ 3 不稳定的排序算法有哪些? -- ▲ 2 简述内部排序以及外部排序的常见算法 - -#### # 数据库 - -- ▲ 17 简述乐观锁以及悲观锁的区别以及使用场景 -- ▲ 16 数据库的事务隔离级别有哪些?各有哪些优缺点? -- ▲ 14 MySQL 为什么使用 B+ 树来作索引,对比 B 树它的优点和缺点是什么? -- ▲ 11 什么情况下会发生死锁,如何解决死锁? -- ▲ 8 数据库索引的实现原理是什么? -- ▲ 7 简述 Redis 持久化中 rdb 以及 aof 方案的优缺点 -- ▲ 6 简述什么是最左匹配原则 -- ▲ 6 MySQL 常用的聚合函数有哪些? -- ▲ 6 简述 Redis 中常见类型的底层数据结构 -- ▲ 5 什么是 SQL 注入攻击?如何防止这类攻击? -- ▲ 5 MySQL 联合索引底层原理是什么? -- ▲ 5 数据库有哪些常见索引?数据库设计的范式是什么? - -#### # 非技术 - -- ▲ 6 实习的内容是什么?最大收获是什么? -- ▲ 3 最有成就感的项目是什么? - -#### # 前端 - -- ▲ 11 什么是跨域,什么情况下会发生跨域请求? -- ▲ 9 什么是闭包,什么是立即执行函数,它的作用是什么?简单说一下闭包的使用场景 -- ▲ 8 简述 Javascript 的数据类型 -- ▲ 7 移动端适配有哪些方案? -- ▲ 7 Vue 组件间是如何进行通信的? -- ▲ 7 Vue 中双向数据绑定的实现原理是怎样的? -- ▲ 7 简述 webpack 的打包流程 -- ▲ 6 简述 CSS 盒模型 -- ▲ 4 rem 与 em 的区别以及使用场景 - -## 快手 - -#### # Java - -- ▲ 19 HashMap 与 ConcurrentHashMap 的实现原理是怎样的?ConcurrentHashMap 是如何保证线程安全的? -- ▲ 13 简述 ArrayList 与 LinkedList 的底层实现以及常见操作的时间复杂度 -- ▲ 12 Java 中垃圾回收机制中如何判断对象需要回收?常见的 GC 回收算法有哪些? -- ▲ 11 简述 CAS 原理,什么是 ABA 问题,怎么解决? -- ▲ 9 简述 Synchronized,Volatile,可重入锁的不同使用场景及优缺点 -- ▲ 9 简述 JVM 的内存模型 JVM 内存是如何对应到操作系统内存的? -- ▲ 8 == 和 equals() 的区别? -- ▲ 7 实现单例设计模式(懒汉,饿汉) -- ▲ 6 Java 常见锁有哪些?ReetrantLock 是怎么实现的? -- ▲ 6 synchronized 关键字底层是如何实现的?它与 Lock 相比优缺点分别是什么? -- ▲ 5 JVM 中内存模型是怎样的,简述新生代与老年代的区别? -- ▲ 5 如何解决 TCP 传输丢包问题? -- ▲ 5 volatile 关键字解决了什么问题,它的实现原理是什么? -- ▲ 4 线程池是如何实现的?简述线程池的任务策略 -- ▲ 3 简述 Spring 注解的实现原理 - -#### # 操作系统 - -- ▲ 7 进程间有哪些通信方式? -- ▲ 6 进程和线程之间有什么区别? -- ▲ 5 简述自旋锁与互斥锁的使用场景 - -#### # 网络协议 - -- ▲ 11 从输入 URL 到展现页面的全过程 -- ▲ 10 DNS 查询服务器的基本流程是什么?DNS 劫持是什么? -- ▲ 8 TCP 怎么保证可靠传输? -- ▲ 7 简述 TCP 三次握手以及四次挥手的流程。为什么需要三次握手以及四次挥手? -- ▲ 6 什么是 TCP 粘包和拆包? -- ▲ 4 如何解决 TCP 传输丢包问题? -- ▲ 3 TCP 与 UDP 在网络协议中的哪一层,他们之间有什么区别? - -#### # 算法 - -- ▲ 9 实现快速排序 -- ▲ 7 环形链表 (Leetcode) -- ▲ 5 简述布隆过滤器原理及其使用场景 -- ▲ 5 合并两个有序数组 (Leetcode) -- ▲ 4 用队列实现栈 (Leetcode) -- ▲ 4 删除链表的倒数第N个节点 (Leetcode) -- ▲ 4 合并两个有序数组 (Leetcode) -- ▲ 4 常用的限流算法有哪些?简述令牌桶算法原理 -- ▲ 4 对角线遍历 (Leetcode) -- ▲ 3 有效的括号 (Leetcode) - -#### # 数据库 - -- ▲ 12 MySQL 为什么使用 B+ 树来作索引,对比 B 树它的优点和缺点是什么? -- ▲ 8 简述什么是最左匹配原则 -- ▲ 8 MySQL 联合索引底层原理是什么? -- ▲ 7 什么情况下会发生死锁,如何解决死锁? -- ▲ 7 Redis 如何实现分布式锁? -- ▲ 7 简述一致性哈希算法的实现方式及原理,虚拟节点有什么用? -- ▲ 5 数据库的事务隔离级别有哪些?各有哪些优缺点? -- ▲ 5 简述常见的负载均衡算法 -- ▲ 4 Redis 有几种数据结构?Zset 是如何实现的? - -#### # 系统设计 - -- ▲ 6 电商系统中,如何实现秒杀功能?如何解决商品的超卖问题? -- ▲ 5 简述中间件削峰和限流的使用场景 -- ▲ 4 如何解决缓存与数据库不一致的问题? -- ▲ 4 项目上有什么技术难点? - -#### # 快手 - -- ▲ 7 未来的职业规划是什么? -- ▲ 6 你用过快手吗?说说对对快手的看法,使用上有哪些优缺点 -- ▲ 6 实习的内容是什么?最大收获是什么? -- ▲ 6 最近在看什么书吗,有没有接触过什么新技术? -- ▲ 4 你的性格和技能上有什么缺点 -- ▲ 1 能接受多大强度的加班? - -#### # 前端 - -- ▲ 11 简述 Javascript 原型以及原型链 -- ▲ 7 CSS 的选择器优先级是怎样? -- ▲ 5 简述 Javascript 中 this 的指向有哪些 -- ▲ 5 前端如何解决线程安全和进程安全的问题? -- ▲ 3 const, let, var 关键字有什么区别? -- ▲ 3 简述强缓存与协商缓存的区别和使用场景 - -## 拼多多 - -#### # Java - -- ▲ 9 简述 JVM 的内存模型 JVM 内存是如何对应到操作系统内存的? -- ▲ 9 Java 中垃圾回收机制中如何判断对象需要回收?常见的 GC 回收算法有哪些? -- ▲ 7 如何设计一个线程池 -- ▲ 6 如何设计 Java 的异常体系? -- ▲ 6 简述常见的工厂模式以及单例模式的使用场景 -- ▲ 5 Spring MVC 的原理和流程 -- ▲ 4 实现单例模式 - -#### # 拼多多 - -- ▲ 7 指针和引用的区别是什么? -- ▲ 7 简述 vector 的实现原理 -- ▲ 4 C++ 11 有什么新特性 -- ▲ 4 C++ 中智能指针和指针的区别是什么? -- ▲ 4 C++ 中虚函数与纯虚函数的区别 -- ▲ 4 STL 中 vector 与 list 具体是怎么实现的?常见操作的时间复杂度是多少? - -#### # 操作系统 - -- ▲ 14 进程和线程之间有什么区别? -- ▲ 11 进程间有哪些通信方式? -- ▲ 8 简述几个常用的 Linux 命令以及他们的功能。 -- ▲ 3 简述 socket 中 select 与 epoll 的使用场景以及区别,epoll 中水平触发以及边缘触发有什么不同? - -#### # 网络协议 - -- ▲ 19 简述 TCP 三次握手以及四次挥手的流程。为什么需要三次握手以及四次挥手? -- ▲ 8 简述 HTTP 1.0,1.1,2.0 的主要区别 -- ▲ 7 TCP 怎么保证可靠传输? -- ▲ 6 从输入 URL 到展现页面的全过程 -- ▲ 4 简述 HTTPS 的加密与认证过程 -- ▲ 2 什么是 ARP 协议?简述其使用场景 -- ▲ 2 TCP 如何实现数据有序性? - -#### # 算法 - -- ▲ 11 快速排序的空间复杂度是多少?时间复杂度的最好最坏的情况是多少,有哪些优化方案? -- ▲ 7 删除链表的倒数第N个节点 (Leetcode) -- ▲ 7 反转链表 (Leetcode) -- ▲ 5 给定 100G 的 URL 磁盘数据,使用最多 1G 内存,统计出现频率最高的 Top K 个 URL -- ▲ 5 翻转二叉树 (Leetcode) -- ▲ 5 字符串解码 (Leetcode) -- ▲ 4 简述 LRU 算法及其实现方式 -- ▲ 4 什么是排序算法中的稳定性? -- ▲ 3 用队列实现栈 (Leetcode) -- ▲ 2 多数元素 (Leetcode) -- ▲ 1 最长和谐子序列 (Leetcode) -- ▲ 1 手写无锁队列 - -#### # 数据库 - -- ▲ 14 数据库的事务隔离级别有哪些?各有哪些优缺点? -- ▲ 9 MySQL 为什么使用 B+ 树来作索引,对比 B 树它的优点和缺点是什么? -- ▲ 7 简述 Redis 持久化中 rdb 以及 aof 方案的优缺点 -- ▲ 5 为什么 Redis 在单线程下能如此快? -- ▲ 4 数据库索引的实现原理是什么? -- ▲ 3 简述数据库中的 ACID 分别是什么? -- ▲ 1 数据库索引的叶子结点为什么是有序链表? - -#### # 非技术 - -- ▲ 5 未来的职业规划是什么? -- ▲ 4 能接受多大强度的加班? -- ▲ 3 你用过拼多多吗?说说对对拼多多的看法,使用上有哪些优缺点 -- ▲ 2 对下一家入职的公司主要看重哪些方面? - -#### # 前端 - -- ▲ 13 readyState 的不同返回值有什么区别? -- ▲ 9 简述 React 的生命周期 -- ▲ 8 了解 XSS 攻击吗?如何防止 XSS 攻击? -- ▲ 6 promise 有哪些状态?简述 promise.all 的实现原理 -- ▲ 4 HTTP 中 GET 和 POST 区别 -- ▲ 4 什么是替换元素与非替换元素 -- ▲ 3 简述 ES6 的新特性 -- ▲ 3 实现三栏布局 -- ▲ 2 正则表达式 /w 是什么意思? -- ▲ 1 什么是可继承元素和不可继承元素? - - -### 为什么不提供答案? - -1. 仓库中列出的面试问题在搜索引擎都能找到大量的参考资料,大家在搜索答案的过程或许会对问题本身有更深的了解并且能够培养分辨正确答案的能力。 -2. 如果提供答案的话,可能会造成背答案的情况出现,而在面试过程中背答案是非常容易被辨别出来以及降低评价的。 +- [腾讯](https://osjobs.net/topk/%E8%85%BE%E8%AE%AF/) +- [阿里](https://osjobs.net/topk/%E9%98%BF%E9%87%8C/) +- [字节跳动](https://osjobs.net/topk/%E5%AD%97%E8%8A%82%E8%B7%B3%E5%8A%A8/) +- [Shopee](https://osjobs.net/topk/Shopee/) +- [美团](https://osjobs.net/topk/%E7%BE%8E%E5%9B%A2/) +- [滴滴](https://osjobs.net/topk/%E6%BB%B4%E6%BB%B4/) +- [百度](https://osjobs.net/topk/%E7%99%BE%E5%BA%A6/) +- [京东](https://osjobs.net/topk/%E4%BA%AC%E4%B8%9C/) +- [快手](https://osjobs.net/topk/%E5%BF%AB%E6%89%8B/) +- [拼多多](https://osjobs.net/topk/%E6%8B%BC%E5%A4%9A%E5%A4%9A/) + +为获得更好的阅读体验,请通过 [osjobs.net/topk/](https://osjobs.net/topk/) 浏览此仓库内容。 From 4b23246cea1f7e1a1abe4dd17721595a807ea2f5 Mon Sep 17 00:00:00 2001 From: Windson Yang Date: Tue, 24 Aug 2021 22:31:48 +0800 Subject: [PATCH 23/25] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E5=A4=96=E4=BC=81?= =?UTF-8?q?=E7=9B=AE=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/README.md b/README.md index 260dfe1..d4ed824 100644 --- a/README.md +++ b/README.md @@ -27,6 +27,10 @@
### 目录 +- [谷歌](https://osjobs.net/topk/%E8%B0%B7%E6%AD%8C/) +- [脸书](https://osjobs.net/topk/%E8%84%B8%E4%B9%A6/) +- [苹果](https://osjobs.net/topk/%E8%8B%B9%E6%9E%9C/) +- [亚马逊](https://osjobs.net/topk/%E4%BA%9A%E9%A9%AC%E9%80%8A/) - [腾讯](https://osjobs.net/topk/%E8%85%BE%E8%AE%AF/) - [阿里](https://osjobs.net/topk/%E9%98%BF%E9%87%8C/) - [字节跳动](https://osjobs.net/topk/%E5%AD%97%E8%8A%82%E8%B7%B3%E5%8A%A8/) From 162d3c5291daa0eb2dbb2515115af8bb6a2c2e4d Mon Sep 17 00:00:00 2001 From: Windson Yang Date: Tue, 24 Aug 2021 22:33:08 +0800 Subject: [PATCH 24/25] update decs --- README.md | 8 -------- 1 file changed, 8 deletions(-) diff --git a/README.md b/README.md index d4ed824..820a669 100644 --- a/README.md +++ b/README.md @@ -18,14 +18,6 @@ 根据国内外论坛收集超过 2000 篇真实面经,包括腾讯,阿里,字节跳动,Shopee,美团,滴滴,百度,京东等公司的高频面试题。 -| 热门项目 | 链接 | -| ----------- | ----------- | -| 简历例句 | https://github.com/resumejob/awesome-resume | -| 大厂高频面经面试题 | https://osjobs.net/topk/ | -| 免费项目实战课程 | https://github.com/resumejob/free-project-course/ | - -
- ### 目录 - [谷歌](https://osjobs.net/topk/%E8%B0%B7%E6%AD%8C/) - [脸书](https://osjobs.net/topk/%E8%84%B8%E4%B9%A6/) From e7b82f5bb4cc4d2dd86c63d6eed7ddfed3546478 Mon Sep 17 00:00:00 2001 From: Windson Yang Date: Thu, 25 May 2023 11:15:43 +0800 Subject: [PATCH 25/25] udpate des --- README.md | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/README.md b/README.md index 820a669..6324138 100644 --- a/README.md +++ b/README.md @@ -16,7 +16,7 @@ ✨ 一对一入职套餐,无需定金,入职不成功不收费,详细信息请浏览求职课程

-根据国内外论坛收集超过 2000 篇真实面经,包括腾讯,阿里,字节跳动,Shopee,美团,滴滴,百度,京东等公司的高频面试题。 +根据国内外论坛收集超过 2200 篇真实面经,包括腾讯,阿里,字节跳动,Shopee,美团,滴滴,百度,京东等公司的高频面试题。为获得更好的阅读体验,请通过 [osjobs.net/topk/](https://osjobs.net/topk/) 浏览此仓库内容。 ### 目录 - [谷歌](https://osjobs.net/topk/%E8%B0%B7%E6%AD%8C/) @@ -33,5 +33,3 @@ - [京东](https://osjobs.net/topk/%E4%BA%AC%E4%B8%9C/) - [快手](https://osjobs.net/topk/%E5%BF%AB%E6%89%8B/) - [拼多多](https://osjobs.net/topk/%E6%8B%BC%E5%A4%9A%E5%A4%9A/) - -为获得更好的阅读体验,请通过 [osjobs.net/topk/](https://osjobs.net/topk/) 浏览此仓库内容。