中移(苏州)软件技术有限公司面试问题与解答(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

相关文章

数据库面试必备之MySQL中的乐观锁与悲观锁

《数据库面试必备之MySQL中的乐观锁与悲观锁》:本文主要介绍数据库面试必备之MySQL中乐观锁与悲观锁的相关资料,乐观锁适用于读多写少的场景,通过版本号检查避免冲突,而悲观锁适用于写多读少且对数... 目录一、引言二、乐观锁(一)原理(二)应用场景(三)示例代码三、悲观锁(一)原理(二)应用场景(三)示例

如何解决idea的Module:‘:app‘platform‘android-32‘not found.问题

《如何解决idea的Module:‘:app‘platform‘android-32‘notfound.问题》:本文主要介绍如何解决idea的Module:‘:app‘platform‘andr... 目录idea的Module:‘:app‘pwww.chinasem.cnlatform‘android-32

在Spring Boot中浅尝内存泄漏的实战记录

《在SpringBoot中浅尝内存泄漏的实战记录》本文给大家分享在SpringBoot中浅尝内存泄漏的实战记录,结合实例代码给大家介绍的非常详细,感兴趣的朋友一起看看吧... 目录使用静态集合持有对象引用,阻止GC回收关键点:可执行代码:验证:1,运行程序(启动时添加JVM参数限制堆大小):2,访问 htt

kali linux 无法登录root的问题及解决方法

《kalilinux无法登录root的问题及解决方法》:本文主要介绍kalilinux无法登录root的问题及解决方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,... 目录kali linux 无法登录root1、问题描述1.1、本地登录root1.2、ssh远程登录root2、

SpringBoot应用中出现的Full GC问题的场景与解决

《SpringBoot应用中出现的FullGC问题的场景与解决》这篇文章主要为大家详细介绍了SpringBoot应用中出现的FullGC问题的场景与解决方法,文中的示例代码讲解详细,感兴趣的小伙伴可... 目录Full GC的原理与触发条件原理触发条件对Spring Boot应用的影响示例代码优化建议结论F

MySQL 中查询 VARCHAR 类型 JSON 数据的问题记录

《MySQL中查询VARCHAR类型JSON数据的问题记录》在数据库设计中,有时我们会将JSON数据存储在VARCHAR或TEXT类型字段中,本文将详细介绍如何在MySQL中有效查询存储为V... 目录一、问题背景二、mysql jsON 函数2.1 常用 JSON 函数三、查询示例3.1 基本查询3.2

Pyserial设置缓冲区大小失败的问题解决

《Pyserial设置缓冲区大小失败的问题解决》本文主要介绍了Pyserial设置缓冲区大小失败的问题解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面... 目录问题描述原因分析解决方案问题描述使用set_buffer_size()设置缓冲区大小后,buf

resultMap如何处理复杂映射问题

《resultMap如何处理复杂映射问题》:本文主要介绍resultMap如何处理复杂映射问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录resultMap复杂映射问题Ⅰ 多对一查询:学生——老师Ⅱ 一对多查询:老师——学生总结resultMap复杂映射问题

java实现延迟/超时/定时问题

《java实现延迟/超时/定时问题》:本文主要介绍java实现延迟/超时/定时问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Java实现延迟/超时/定时java 每间隔5秒执行一次,一共执行5次然后结束scheduleAtFixedRate 和 schedu

如何解决mmcv无法安装或安装之后报错问题

《如何解决mmcv无法安装或安装之后报错问题》:本文主要介绍如何解决mmcv无法安装或安装之后报错问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录mmcv无法安装或安装之后报错问题1.当我们运行YOwww.chinasem.cnLO时遇到2.找到下图所示这里3.