2021年4月19日 深圳头条后台开发实习面试(一面)(含总结)
title: 2021年4月19日 深圳头条后台开发实习面试(一面)
tags: 面经
2021年4月19日 深圳头条后台开发实习面试(一面)
自我介绍
谈了一下数学建模的经历,以及跟我现在做的深度学习的学习经历
介绍了一下项目
问了在项目中遇到的问题以及是如何解决的呢
你知道Java中的I/O模型吗?
selector的底层多路复用是怎么实现的?(select,poll,epoll)
这三者的区别是什么呢?
为什么现在都是用epoll,不用select呢?(这个地方说epoll的优点就行)
什么叫活跃的socket连接,什么叫不活跃的socket连接?
网络层的tcp为什么要三次握手,二次可以吗?
tcp如何保证可靠性地传输呢?
流量控制是怎么实现的呢?
拥塞控制是怎么控制的呢?
tcp为什么要做拥塞控制呢?
有了流量控制,为什么还需拥塞控制呢?
网络的负载是怎么定义的?一般网络能支持的负载多大呢?internet网的负载有多大呢?
(网络负载就是当前吞吐值/网络带宽,反映了当前负载大小,百分比越高越接近于网络饱和)
什么叫网络的带宽?(表示在单位时间内网络中的某信道所能通过的“最高数据率”。即表示网络中某通道的传送数据的能力)
网络带宽和网络负载有什么区别?(看上面的网络负载的定义)
如果网络带宽为1G,如果我不超过1G,那会不会出现网络负载问题?(回答的不太清楚)
进程和线程的区别?
那你了解协程吗?(不了解)
进程间的通信有哪些呢?
信号量跟信号有什么区别呢?
进程间的调度算法
为什么要进程调度呢?(实现最大的CPU的利用率)
我们现在用的是优先级调度吗?(不是,一般是使用多级反馈队列调度)
具体说一下什么是多级反馈队列调度算法呢?
什么是事务?事务的特性?
MySQL是如何保证事务的ACID特性呢?即如何保证原子性?如何保证持久性呢?如何保证隔离性?如何保证一致性?(即ACID是怎么实现的呢?)
undo log 和 redo log的区别?
你知道MySQL中的事务提交的过程吗?(两阶段提交的过程)
手撕算法题--每k个结点一组反转链表。
1.0 MySQL是如何保证事务的ACID特性呢?即如何保证原子性?如何保证持久性呢?如何保证隔离性?如何保证一致性?(即ACID是怎么实现的呢?)
其实,这是个好问题,我们有时候去看书的时候,并没有看的这么细的,这个是在面试官的引导下答出来的!
参考博客:数据库事务原子性、一致性是怎样实现的?
数据库的一致性依赖于其他三种特性:原子性,隔离性,持久性
原子性如何保证?
innodb使用的是undo log 回滚日志,这样就可以撤回之前的操作。
持久性如何保证?
使用redo log 重做日志来进行保证的。
MySQL 是先把磁盘上的数据加载到内存当中,在内存当中对数据进行修改,再刷回磁盘上。如果此时宕机,内存中的数据就会丢失。此时,就要去借助redo log来解决持久性的问题和读写IO消耗严重问题。当做数据修改的时候,不仅在内存中操作,还会在redo log中记录此次的操作。当事务提交的时候,会将redo log日志进行刷盘。当数据库宕机重启时会将redo log中的内容恢复到数据库,再根据undo log 和 bin log内容决定回滚数据还是提交数据。
隔离性如何保证?
使用锁机制,保证每个事务能够看到的数据总是一致的,就好像其他事务不存在一样,多个事务并发执行后的状态和它们串行执行后的状态是等价的
两种锁:
- 悲观锁
当前事务设计操作的对象加锁,操作完成后释放给其它对象使用。
提高性能->{各种粒度:数据库/表/行/各种性质:共享/排他/共享意向/排他意向/共享排他意向}
解决死锁->{两阶段协议/死锁检测}
- 乐观锁
不同事物可同时可能到同一对象的不同历史版本。使用MVCC(多版本并发控制,Multi-Version Concurrency Control),可在事务提交前查看修改事务的版本,如果与读取版本不一致可放弃提交
如果有两个事务同时修改了同一数据行,那么在较晚的事务提交时进行冲突检测。实现:通过undo log来获取历史版本,另一种简单地在内存中保存同一数据行的多个历史版本,通过时间戳来区分。
2021年4月19日 深圳头条后台开发实习面试(一面)(含总结)相关推荐
- 2021年4月19日 深圳头条后台开发实习面试(二面)(含总结)
title: 2021年4月19日 深圳头条后台开发实习面试(二面) tags: 面经 2021年4月19日 深圳头条后台开发实习面试(二面) 自我介绍 面试直接跟我讲你想让我问哪个方面的问题呢?(这 ...
- 2021年4月28日 深圳头条后台开发实习面试(hr面)
title: 2021年4月28日 深圳头条后台开发实习面试(hr面) tags: 面经 2021年4月28日 深圳头条后台开发实习面试(hr面) 自我介绍 为什么当时高考报考了机械行业呢? 你对机械 ...
- 2021年4月22日 阿里供应链Java开发实习面试(三面)(含总结)
title: 2021年4月22日 阿里供应链Java开发实习面试(三面) tags: 面经 2021年4月22日 阿里供应链Java开发实习面试(三面) 上来就手撕一道代码--输入一个数,然后顺时针 ...
- 2021年3月16日 北京快手Java开发实习面试(海外增长方向)
title: 2021年3月16日 北京快手Java开发实习面试(海外增长方向) tags: 面经 2021年3月16日 北京快手Java开发实习面试(海外增长方向) 自我介绍你能讲一下你的项目吗?你 ...
- 2021年4月16日 阿里供应链Java研发实习面试(二面)
title: 2021年4月16日 阿里供应链Java研发实习面试(二面) tags: 面经 2021年4月16日 阿里供应链Java研发实习面试(二面)(70min) 自我介绍 介绍自己的研究生项目 ...
- 2021年4月12日 阿里供应链Java研发实习面试(一面)(含总结)
title: 2021年4月12日 阿里供应链Java研发实习面试(一面) tags: 面经 2021年4月12日 阿里供应链Java研发实习面试(一面) 自我介绍介绍项目你用哪个版本的Java呢?( ...
- 【财经期刊FM-Radio|2021年01月19日】
title: [财经期刊FM-Radio|2021年01月19日] 微信公众号: 张良信息咨询服务工作室 [今日热点新闻一览↓↓] 美股美债休市,欧股走出逾一周低谷,雪铁龙并购后新公司登陆欧股首日涨超 ...
- 2021年3月19日 百度开发实习面试(质量效能研发部)(一面)
title: 2021年3月19日 百度开发实习面试(质量效能研发部)(一面) tags: 面经 2021年3月19日 百度开发实习面试(质量效能研发部)(一面) 自我介绍介绍项目你介绍一下hashm ...
- Crypto.com宣布将在2021年1月19日下架XRP
据官方消息,瑞波币(XRP)将从其美国市场APP中下架并暂停交易.从2021年1月19日18点开始,美国客户将无法在Crypto.com应用程序中存入XRP,但提款不会受到影响. 文章链接:https ...
最新文章
- 英特尔人工智能副总裁:AI不是一种技能,而是一种对于工作的描述
- POS主密钥与工作密钥关联详解
- NSMutableArray 如果只进行了声明,而没有进行初始化,那么程序不会报错,但是,声明的那个变量不起任何作用...
- mysql字符乱码_MySQL字符乱码解决方案
- 再见,RabbitMQ,你好,Kafka!
- jgGrid扩展 显示查询用时
- linux nmap
- android studio查看应用文件,AndroidStudio里面使用openFileOutput新建的文件如何查看
- vnc改ip_怎么用VNC远程软件,怎么配制IP地址。?最好有教程
- Ubuntu下FileZilla的安装
- MSP430单片机个人学习笔记
- 解决windows server2012 评估版本过期,系统自动关机 重启
- Wps的两种论文标注参考文献
- 外接Hdmi没有声音怎么设置
- Java秒杀系统实战系列~构建SpringBoot多模块项目
- c语言 int与byte[]互相转换
- php与python进行数据交互
- 计算机怎样发现路由器上u盘,路由器上USB插口的4大功能,估计你连一个都没用过...
- webpack错误之ERROR in mainModule not found: Error: Can‘t resolve ‘./src‘ in ‘C:\Users\tuchunrong\Progr
- 音频格式转换软件哪个好?推荐三个音频格式转换工具