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,一经查实,立即删除!

相关文章

Xamarin Android项目运行失败

Xamarin Android项目运行失败 错误信息:Build Failed: MonoDroid does not support running the previous version. Please ensure your solution builds before running or debugging it.这是由于由于项目生成失败,并找不到以前编译的结果。这时&#…

STM32F1笔记(十二)DAC

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

有关为旧版代码创建存根的更多信息–测试技术7

在上一个博客中 ,我谈到了如何处理行为不佳的不可测试的 (1) SitePropertiesManager 类,以及如何通过提取接口来创建存根。 但是,如果由于旧类的源代码已被锁定在第三方JAR文件中而无法访问它,会发生什么情…

python动态时钟代码_python绘制动态时钟

桌面时钟项目描述 1、使用turtle库绘制时钟外形及表针; 2、使用datetime获取系统时间; 3、时钟动态显示 turtle库基本命令 1、turtle.setup()函数:用于启动一个图形窗口,它有四个参数turtle.setup(width, height, startx, starty)…

Ajax 学习 - 基础学习

《AJax - Async Javascript and xml - 异步的JavaScript和XML》 一、基础认识 AJax技术的目的:实现页面无刷新数据动态更改 优点: 不需要插件支持 提供WEB程序的功能 优秀的用户体验 减轻服务器带宽的负担 缺点: 破坏浏览器的前进与后退 搜索引擎…

STM32F1笔记(十三)SPI

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

红帽Openshift:入门–云中的Java EE6

现在有一段时间,我正在研究“云”。 研究它的功能,它可以做什么,为什么我们应该切换到“云”,进行讨论,与RealDolmen的云专家maartenballiauw等人交谈。 我已经在Google App Engine(用于Java)上…

python自定义函数参数_python自定义函数的参数之四种表现形式

(1)def a(x,y):print x,y 这是最常见的定义方式,调用该函数,a(1,2)则x取1,y取2,形参与实参相对应,如果a(1)或者a(1,2,3)则会报错 (2)def a(x,y3):print x,y 提供了默认值…

osg添加纹理示例

转自http://www.cnblogs.com/ylwn817/articles/1976851.html #include <osgDB/ReadFile>#include <osgViewer/Viewer> #include <osg/Node>#include <osg/Geode>#include <osg/Geometry>#include <osg/Group>#include <osg/Texture2D&g…

2.运算符

Swift 支持大部分标准 C 语言的运算符&#xff0c;分为一元、二元和三元运算符。 一元运算符对单一操作对象操作&#xff08;如 -a&#xff09;。一元运算符分前置运算符和后置运算符&#xff0c;前置运算符需紧跟在操作对象之前&#xff08;如 !b&#xff09;&#xff0c;后置…

C语言开发笔记(二)volatile

volatile常用于多线程共享资源和嵌入式软件的中断。 &#xff08;一&#xff09;嵌入式软件中断中volatile的应用 volatile unsigned short g_timer3_count 0;void TIM3_IRQHandler(void) {if (TIM_GetITStatus(TIM3, TIM_IT_Update) ! RESET){TIM_ClearITPendingBit(TIM3, T…

在WebLogic 12c上运行RichFaces 4.1.0.Final

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

maven 私服的setting.xml配置

1 <?xml version"1.0" encoding"UTF-8"?>2 <settings xmlns"http://maven.apache.org/SETTINGS/1.0.0" 3 xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance" 4 xsi:schemaLocation"http://m…

python中的运算符_Python 中的神秘运算符

今天我们来讲讲 Python 里一个不为众人所知的运算符。你可能会觉得疑惑&#xff1a;还有我不知道的运算符&#xff1f;别急着下结论&#xff0c;先往下看看再说。 在 Python3.5 中通过 PEP465https://www.python.org/dev/peps/pep-0465 加入了 运算符&#xff0c;也就是矩阵相乘…

input type:text输入框点击输入,文字消失

<input name"Header1$txbsearch" type"text" value"18912345678" id"Header1_txbsearch" class"txbindex" οnfοcus"if (value 18912345678){value }" οnblur"if (value ){value18912345678}" sty…

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

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

Apache Shiro:简化应用程序安全性

考虑到JAVA已有10多年的历史了&#xff0c;对于需要在其应用程序中内置身份验证和授权的应用程序开发人员来说&#xff0c;选择的数量非常少。 在JAVA和J2EE中&#xff0c;JAAS规范是一种尝试解决安全性的问题。 尽管JAAS用于身份验证&#xff0c;但授权部分却过于繁琐而无法使…

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

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

python提取包含特定字符串的行_python语言----txt中搜索特定字符串所在行

打开IDLE(python)&#xff0c;并新创建一个py文件&#xff0c;编辑内容为&#xff1a; 本示例演示如何在一个txt文件中搜索特定的字符串&#xff0c;并将其行显示# 1. 打开文件# 2. 读取行信息# 3. 判断是否包含关键词# 4. 不包含则循环操作&#xff0c;包含的话将行显示并退出…

asp.net 分布式应用开发

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