中移(苏州)软件技术有限公司面试问题与解答(0)—— 面试感悟与问题记录

本文主要是介绍中移(苏州)软件技术有限公司面试问题与解答(0)—— 面试感悟与问题记录,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

刚刚参加完中移(苏州)软件技术有限公司的线上面试,可以说是颇受打击。之前一直认为自己的Linux内核水平还可以,文章读了很多、书也没少看、也写过文章、做过知识分享。但这次和高手即一直做这块的人过招,完败。才知道自己对于Linux内核这一块尚有很大欠缺和很多问题,尤其是源码研读与理解这一块。在此,对面试过程进行复盘,趁着热乎劲儿将面试过程中问到的问题能回忆起来的都写在这。并把这些问题所蕴含的各知识点都逐个进行解答与掌握,看看到底和他们的差距仅限于这一些问题,还是仅仅是冰山一角。这也算是知耻而后勇吧。

面试从14点10分开始(本来是14点,但面试官有事晚了10分钟),到15点10分左右结束,大约一个小时。在这一小时中,3位面试官总共提出了十几个问题,现在把能回忆起来的问题都记在这里,如下:

(1)virtio会创建哪些设备?

(2)virtio前端驱动写vring后,如何通知后端?

(3)CFS中某个任务的时间片如何确定?

(4)Linux系统中当内存不足时,如何处理?

(5)Linux内存规整有哪几种情况,即内存规整有几种方式?

(6)vmalloc和kmalloc的区别?

(7)当缺页异常发生时,分为哪几种情况以及处理方式?

(8)Linux内核内存初始化的完整流程。

(9)Linux内核内存模型。

(10)64位系统中是否存在固定映射区、永久映射区?

(11)Linux进程调度参数调优是如何通过代码实际完成的?

(12)文件和匿名文件在Linux内核中是放在内存的什么位置?

(13)实际工作中有没有使用core dump进行调试以及问题定位?(潜台词是应该都是用这种机制,而其它的效率都不如这个)。core dump的具体机制是什么?

(14)既然你们是使用Intel x86处理器,那么想必对Intel汇编很熟悉,那么什么是ISP和IBP(这两个名字很可能是他们南方人有口音,实际不是ISP和IBP,具体是什么有待于再研究确定)?

(15)echo 3 > /proc/sys/vm/drops_cache与0、1、2的区别。

(16)是否了解可信计算国密标准?请介绍一下。

(17)在QEMU/KVM中,Intel 440FX主板初始化时,virtio设备是怎样挂到PCI总线上的?

余下的印象中应该还有2~3个问题,但具体是什么问题由于过程比较紧张,想不大起来了。可以看到,一个小时之内提了将近20个问题,强度不小。最为关键的是,各个问题都是直接奔核心技术,你但非不是研读过代码而且一直玩内核,绝不可能回答得很顺畅。笔者就吃了瘪。

但是,我倒认为这是一次难得的实战演练,能够通过这些问题,把之前没有方向的研究找到知识点参考(虚拟化部分);把之前一直想研读但没有下决心研究的代码彻底研究透(Linux进程调度和内存管理)。同时也利用这次机会,把这些知识点都补齐,补齐之后即Linux内核内功提升档次之后,再来看看和这帮平时一直玩内核的人的差距究竟是这几个问题的差距、还是这几个问题仅仅是一个代表性的差距。

接下来,我会针对以上17个问题逐一深入展开,每一个问题专门写一篇或几篇文章,把这几个问题都搞定。经过这一过程之后,我想水平定会有一定幅度甚至是大幅提升。也希望后来者能够跟随我一起完成这一“飞跃”。

这篇关于中移(苏州)软件技术有限公司面试问题与解答(0)—— 面试感悟与问题记录的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/623466

相关文章

IDEA和GIT关于文件中LF和CRLF问题及解决

《IDEA和GIT关于文件中LF和CRLF问题及解决》文章总结:因IDEA默认使用CRLF换行符导致Shell脚本在Linux运行报错,需在编辑器和Git中统一为LF,通过调整Git的core.aut... 目录问题描述问题思考解决过程总结问题描述项目软件安装shell脚本上git仓库管理,但拉取后,上l

idea npm install很慢问题及解决(nodejs)

《ideanpminstall很慢问题及解决(nodejs)》npm安装速度慢可通过配置国内镜像源(如淘宝)、清理缓存及切换工具解决,建议设置全局镜像(npmconfigsetregistryht... 目录idea npm install很慢(nodejs)配置国内镜像源清理缓存总结idea npm in

pycharm跑python项目易出错的问题总结

《pycharm跑python项目易出错的问题总结》:本文主要介绍pycharm跑python项目易出错问题的相关资料,当你在PyCharm中运行Python程序时遇到报错,可以按照以下步骤进行排... 1. 一定不要在pycharm终端里面创建环境安装别人的项目子模块等,有可能出现的问题就是你不报错都安装

idea突然报错Malformed \uxxxx encoding问题及解决

《idea突然报错Malformeduxxxxencoding问题及解决》Maven项目在切换Git分支时报错,提示project元素为描述符根元素,解决方法:删除Maven仓库中的resolv... 目www.chinasem.cn录问题解决方式总结问题idea 上的 maven China编程项目突然报错,是

Python爬虫HTTPS使用requests,httpx,aiohttp实战中的证书异步等问题

《Python爬虫HTTPS使用requests,httpx,aiohttp实战中的证书异步等问题》在爬虫工程里,“HTTPS”是绕不开的话题,HTTPS为传输加密提供保护,同时也给爬虫带来证书校验、... 目录一、核心问题与优先级检查(先问三件事)二、基础示例:requests 与证书处理三、高并发选型:

前端导出Excel文件出现乱码或文件损坏问题的解决办法

《前端导出Excel文件出现乱码或文件损坏问题的解决办法》在现代网页应用程序中,前端有时需要与后端进行数据交互,包括下载文件,:本文主要介绍前端导出Excel文件出现乱码或文件损坏问题的解决办法,... 目录1. 检查后端返回的数据格式2. 前端正确处理二进制数据方案 1:直接下载(推荐)方案 2:手动构造

Python绘制TSP、VRP问题求解结果图全过程

《Python绘制TSP、VRP问题求解结果图全过程》本文介绍用Python绘制TSP和VRP问题的静态与动态结果图,静态图展示路径,动态图通过matplotlib.animation模块实现动画效果... 目录一、静态图二、动态图总结【代码】python绘制TSP、VRP问题求解结果图(包含静态图与动态图

MyBatis/MyBatis-Plus同事务循环调用存储过程获取主键重复问题分析及解决

《MyBatis/MyBatis-Plus同事务循环调用存储过程获取主键重复问题分析及解决》MyBatis默认开启一级缓存,同一事务中循环调用查询方法时会重复使用缓存数据,导致获取的序列主键值均为1,... 目录问题原因解决办法如果是存储过程总结问题myBATis有如下代码获取序列作为主键IdMappe

docker编写java的jar完整步骤记录

《docker编写java的jar完整步骤记录》在平常的开发工作中,我们经常需要部署项目,开发测试完成后,最关键的一步就是部署,:本文主要介绍docker编写java的jar的相关资料,文中通过代... 目录all-docker/生成Docker打包部署文件配置服务A的Dockerfile (a/Docke

MySQL使用EXISTS检查记录是否存在的详细过程

《MySQL使用EXISTS检查记录是否存在的详细过程》EXISTS是SQL中用于检查子查询是否返回至少一条记录的运算符,它通常用于测试是否存在满足特定条件的记录,从而在主查询中进行相应操作,本文给大... 目录基本语法示例数据库和表结构1. 使用 EXISTS 在 SELECT 语句中2. 使用 EXIS