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

c6e31824723ee9d326cdd6ba71457ed6.png

字节跳动

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

内容来自github.com

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/374372.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

STM32F1笔记(十二)DAC

先看《STM32中文参考手册》中DAC的介绍 引脚的定义与ADC类似 这里需要留意手册提供的注意,DAC应该是输出,但是GPIO初始化配置时却要设置为模拟输入。 DAC配置示例 void DAC_Init(void) {GPIO_InitTypeDef GPIO_InitStructure;DAC_InitTypeDef DAC_Init…

STM32F1笔记(十三)SPI

SPI:Serial Peripheral interface,串行外围设备接口。 SPI接口一般使用4条线通信: MISO主设备数据输入,从设备数据输出。 MOSI主设备数据输出,从设备数据输入。 SCLK时钟信号,由主设备产生。 从图中可以…

在WebLogic 12c上运行RichFaces 4.1.0.Final

您可能已经注意到,我只是喜欢JSF。 不仅是Mojarra的规范和参考实现,而且是市场上最具创意的组件套件。 这是我一直以来最喜欢的PrimeFaces ,当然还有RichFaces 。 这就是为什么在这里找到“在xxx上运行xxx”帖子的原因:)今天是我的RichFaces和…

C语言开发笔记(一)自动转换和强制转换

整型数据和实行数据之间可以进行运算,而且字符型数据可以和整型数据通用,所以整型、实型、字符型数据之间也是可以进行运算的,但在运算处理之前,不同类型的数据要事先转换成同一种数据类型。转换方法有两种:自动转换和…

Maven 导出依赖Jar,生成source.jar,javadoc.jar

下载最新版的Maven http://maven.apache.org/download.cgi 解压到本地文件夹新建环境变量 MAVEN_HOME maven解压目录在path加入 %MAVEN_HOME%/bin;需要确保已经有Java环境变量 (打开cmd java -version,javac -version两个命令看正常不)一、导出到默认目…

asp.net 分布式应用开发

Net Framework推出的许多新技术为上述任务的实现提供了相对简单的解决方案。其中,基于SOAP的Web Service在处理分布式应用时具有比传统的DCOM/CORBA明显的优点,结合基于Web的ASP.NET页面开发技术和SQL Server数据存储技术(或Xml文档&#xff…

C语言开发笔记(三)自加和自减

看到一段代码&#xff0c;被坑了。 #include <stdio.h>int main(void) {int a 7;printf("%d\n", a);printf("%d\n", a--);printf("%d\n", -a);printf("%d\n", -a--);printf("%d\n", a);return 0; } 结果为 -a的逻辑…

python语言属于哪一种语言_Python与Java:你应该学习哪种语言,他们有什么区别?...

在企业招聘中&#xff0c; Python和Java经常是需求最大的编程语言。这两种编程功能强大&#xff0c;灵活且面向对象的语言&#xff0c;通常在组织中和各种其他设置中使用。这可能会导致我们提出一个不可避免的问题&#xff1a;哪个更好&#xff1f; 这是一个复杂的问题&#xf…

关于手机端CSS Sprite图标定位的一些领悟

今天在某个群里面闲逛&#xff0c;看见一个童鞋分享了一个携程的移动端的页面。地址这里我也分享下吧&#xff1a;http://m.ctrip.com/html5/在手机端我都很少用雪碧图合并定位图标&#xff0c;用的比较多就是用字体图标来代替&#xff0c;有些图标不多的时候就自己单个的切出来…

c语言程序源代码_程序的编译、链接和执行

同学们总是抱怨每次见到一道面试题都很难把它转化为程序源代码。然而不幸的是&#xff0c;即使是程序源代码对于计算机来说也还是太高级了。要想让计算机执行一段程序&#xff0c;我们必须把它翻译成最底层的机器指令才行。这其中要经历很多步骤。幸运的是有很多现成的工具可以…

【程序员眼中的统计学(1)】信息图形化:第一印象

信息图形化&#xff1a;第一印象 作者 白宁超 2015年10月13日23:23:13 摘要&#xff1a;程序员眼中的统计学系列是作者和团队共同学习笔记的整理。首先提到统计学&#xff0c;很多人认为是经济学或者数学的专利&#xff0c;与计算机并没有交集。诚然在传统学科中&#xff0c;其…

JBoss AS 7.0.2“ Arc”发布–使用绑定选项

有关JBoss AS7方面的更多好消息。 JBoss AS 7.0.2.Final“ Arc”已经发布&#xff01; 自AS 7.0.1发布以来已经过去了一个月。 在这短时间内&#xff0c;已修复了许多错误&#xff0c;并实现了更多功能和改进。 所有这些错误修复和功能已包含在此7.0.2版本中。 此新版本主要包…

Android N 新特性 + APP开发注意事项

1. 多窗口MultiWindow 多窗口MultiWindow&#xff0c;这是Android N里对开发者影响比较大的特性&#xff0c;也是大家疑问比较多的地方。站在开发者的角度其实不必太担心这个特性会导致我们需要修改很多代码来适配系统。Google的工程师们也不希望这个特性导致很多应用出现问题&…

C语言开发笔记(六)实参和形参

举例说明 #include <stdio.h>void swap(int x, int y) {int temp 0;temp x;x y;y temp; }int main(void) {int a 1, b 2;swap(a, b);printf("a%d, b%d\n", a, b);return 0; }结果为 在函数调用时&#xff0c;a的值传给x&#xff0c;b的值传给y。执行完…

优化方案电子版_关于小区分支道路整修设计方案的讨论稿(No.2020121)

各位业主&#xff0c;大家好&#xff01; 关于绿洲比华利花园主干道翻新和次干道整修前期勘查和设计方案&#xff0c;经业委会及小区专家小组、设计单位申都设计公司工程设计人员结合本小区的实际情况进行了深入讨论&#xff0c;优化设计&#xff0c;形成如下三个独立方案&…

为什么有的开关电源需要加自举电容?

一、什么是自举电路&#xff1f; 1.1 自举的概念 首先&#xff0c;自举电路也叫升压电路&#xff0c;是利用自举升压二极管&#xff0c;自举升压电容等电子元件&#xff0c;使电容放电电压和电源电压叠加&#xff0c;从而使电压升高。有的电路升高的电压能达到数倍电源电压。…

VS2010报错 error:LINK1123:转换到COF期间失败,文件无限或损坏

右键工程-配置属性-清单工具-输入和输出&#xff0c;嵌入清单一项重新选择为否&#xff0c;如下图 修改后重新生成和运行&#xff0c;发现程序正常运行了。

springboot 整合mybatis_SpringBoot整合Mybatis、MybatisPuls

文末视频讲解SpringBoot的版本是2.2.0一、整合Mybatis1-1、引入pom文件<dependency> <groupId>mysqlgroupId> <artifactId>mysql-connector-javaartifactId> <version>8.0.19version> dependency> <dependency> &l…

为旧版代码创建存根–测试技术6

任何阅读此博客的人都可能已经意识到&#xff0c;目前我正在开发一个包含大量旧代码的项目&#xff0c;这些旧代码庞大&#xff0c;扩展且编写时从未进行过任何测试。 在使用此遗留代码时&#xff0c;有一个行为异常的类非常普遍&#xff0c;整个团队都一次又一次地犯错。 为了…

python性能解决_我们如何发现并解决Python代码中性能下降的问题

Python部落(python.freelycode.com)组织翻译&#xff0c;禁止转载&#xff0c;欢迎转发。 作者&#xff1a;Omer Lachish 最近&#xff0c;我们已经开始使用RQ库代替Celery库作为我们的任务运行引擎。第一阶段&#xff0c;我们只迁移了那些不直接进行查询工作的任务。这些任务包…