失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > java epoll select_字节跳动高频面试题 操作系统/算法/Java等。

java epoll select_字节跳动高频面试题 操作系统/算法/Java等。

时间:2023-12-03 02:52:09

相关推荐

java epoll select_字节跳动高频面试题 操作系统/算法/Java等。

字节跳动

# 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 手写题库 /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 中的严格模式是什么,有什么作用?

内容来自

如果觉得《java epoll select_字节跳动高频面试题 操作系统/算法/Java等。》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。