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

相关文章

SpringBoot 异常处理/自定义格式校验的问题实例详解

《SpringBoot异常处理/自定义格式校验的问题实例详解》文章探讨SpringBoot中自定义注解校验问题,区分参数级与类级约束触发的异常类型,建议通过@RestControllerAdvice... 目录1. 问题简要描述2. 异常触发1) 参数级别约束2) 类级别约束3. 异常处理1) 字段级别约束

Python错误AttributeError: 'NoneType' object has no attribute问题的彻底解决方法

《Python错误AttributeError:NoneTypeobjecthasnoattribute问题的彻底解决方法》在Python项目开发和调试过程中,经常会碰到这样一个异常信息... 目录问题背景与概述错误解读:AttributeError: 'NoneType' object has no at

Spring的RedisTemplate的json反序列泛型丢失问题解决

《Spring的RedisTemplate的json反序列泛型丢失问题解决》本文主要介绍了SpringRedisTemplate中使用JSON序列化时泛型信息丢失的问题及其提出三种解决方案,可以根据性... 目录背景解决方案方案一方案二方案三总结背景在使用RedisTemplate操作redis时我们针对

Zabbix在MySQL性能监控方面的运用及最佳实践记录

《Zabbix在MySQL性能监控方面的运用及最佳实践记录》Zabbix通过自定义脚本和内置模板监控MySQL核心指标(连接、查询、资源、复制),支持自动发现多实例及告警通知,结合可视化仪表盘,可有效... 目录一、核心监控指标及配置1. 关键监控指标示例2. 配置方法二、自动发现与多实例管理1. 实践步骤

Kotlin Map映射转换问题小结

《KotlinMap映射转换问题小结》文章介绍了Kotlin集合转换的多种方法,包括map(一对一转换)、mapIndexed(带索引)、mapNotNull(过滤null)、mapKeys/map... 目录Kotlin 集合转换:map、mapIndexed、mapNotNull、mapKeys、map

nginx中端口无权限的问题解决

《nginx中端口无权限的问题解决》当Nginx日志报错bind()to80failed(13:Permissiondenied)时,这通常是由于权限不足导致Nginx无法绑定到80端口,下面就来... 目录一、问题原因分析二、解决方案1. 以 root 权限运行 Nginx(不推荐)2. 为 Nginx

解决1093 - You can‘t specify target table报错问题及原因分析

《解决1093-Youcan‘tspecifytargettable报错问题及原因分析》MySQL1093错误因UPDATE/DELETE语句的FROM子句直接引用目标表或嵌套子查询导致,... 目录报js错原因分析具体原因解决办法方法一:使用临时表方法二:使用JOIN方法三:使用EXISTS示例总结报错原

Windows环境下解决Matplotlib中文字体显示问题的详细教程

《Windows环境下解决Matplotlib中文字体显示问题的详细教程》本文详细介绍了在Windows下解决Matplotlib中文显示问题的方法,包括安装字体、更新缓存、配置文件设置及编码調整,并... 目录引言问题分析解决方案详解1. 检查系统已安装字体2. 手动添加中文字体(以SimHei为例)步骤

SpringSecurity整合redission序列化问题小结(最新整理)

《SpringSecurity整合redission序列化问题小结(最新整理)》文章详解SpringSecurity整合Redisson时的序列化问题,指出需排除官方Jackson依赖,通过自定义反序... 目录1. 前言2. Redission配置2.1 RedissonProperties2.2 Red

nginx 负载均衡配置及如何解决重复登录问题

《nginx负载均衡配置及如何解决重复登录问题》文章详解Nginx源码安装与Docker部署,介绍四层/七层代理区别及负载均衡策略,通过ip_hash解决重复登录问题,对nginx负载均衡配置及如何... 目录一:源码安装:1.配置编译参数2.编译3.编译安装 二,四层代理和七层代理区别1.二者混合使用举例