linux系统相关的:
1 Linux体系结构:用户空间和内核空间是程序执行的两种不同状态,我们可以通过“系统调用”和“硬件中断“来完成用户空间到内核空间的转移
(1)用户空间:用户空间中又包含了,用户的应用程序,C库
(2)内核空间:内核空间包括,系统调用,内核,以及与平台架构相关的代码
(2)内核空间:内核空间包括,系统调用,内核,以及与平台架构相关的代码
![](https://i-blog.csdnimg.cn/blog_migrate/7ad9bdbd10f498fbd3b2828e3166ddf3.png)
2 用户进程间通信主要哪几种方式?
3 在哪个文件夹下存有进程运行时的所有信息?
/proc该文件夹下,有各种以PID命名的文件夹,分别存放每个进程的信息。
4 每个程序默认打开哪三个文件设备?
STDIN STDOUT STDERR
5 简要描述一下inode?
‘inode’是一个‘数据结构’,在Linux上用于文件标识,用于存放文件的元数据信息。每个文件在Unix系统上有一个独立的‘inode’和一个‘唯一的’inode号。
可以用stat命令,查看某个文件的inode信息:
stat example.txt 总之,除了文件名以外的所有文件信息,都存在inode之中。至于为什么没有文件名,下文会有详细解释。
stat example.txt 总之,除了文件名以外的所有文件信息,都存在inode之中。至于为什么没有文件名,下文会有详细解释。
由于每个文件都必须有一个inode,因此有可能发生inode已经用光,但是硬盘还未存满的情况。这时,就无法在硬盘上创建新文件。
6 简单介绍下你认识的python?可以和其他技术进行比较下?
python是一种解释型语言,与c和c++不同,python在运行之前不需要编译。其他的解释型语言还有php和Ruby。
Python是一种动态类型的语言,你在声明变量的时候不需要说明变量的类型。
Python适合面向对象OOP编程,它支持组合和继承的方式定义类。
Python中的函数是第一类型对象。它可以指定给变量,可以作为返回值,也可以作为函数的输入。类也是第一类型对象。
Python编码快,运行速度慢。
Python用途非常广泛。常被用作胶水语言,帮助其他语言和组件改善运行状况。
为什么提这个问题?
因为Python的开发岗,需要知道Python是一门什么样的语言。
7 Python和多线程multi-threading?
Python并不支持真正意义上的多线程,而是使用多线程包,这个多线程包的效率并不是很高。
Python有个全局Global Interpreteter Lock全局锁GIL的东西
可以确保在任何时候多线程,只有一个会执行,实际上都是轮流执行的。
所以经过GIL的这个关卡,会增加执行的开销。
不过还是有很多理由促使我们使用这个包的,当不考虑效率问题,但是要同时执行多个任务的时候
但是大部分情况下,会把多线程交给其他代码使用,或者Python调用c函数实现多线程。
为什么提这个问题:
因为GIL这个东西,曾经花费了大量的时候试图寻找多线程代码的瓶颈,知道G明白GIL的存在。
8 python的数据类型。 http://blog.csdn.net/database_zbye/article/details/38437679
Python中xrange和range区别?
列表与元组的区别是什么.分别在什么情况下使用?列表可变类型,元组不可变类型。列表的长度可变,内容可变。
列表适用范围广泛,元组是小括号,里面的元组类型可以不同,元组
除了创建和访问之外没有太多其他的操作,元组作为很多的内建函数和方法的返回值存在。
9、如何调试内核。kdump等。
10、如何调试脚本。
10、如何调试脚本。
11 shell脚本相关问题
你怎么检查一个文本文件中某一行的长度?‘sed -n ‘n p’ file.txt’可以解决,这里‘n’表示行号,‘p’打印出匹配内容(到标准输出),该命令通常与-n命令行选项连用。那么,怎样来获取长度计数呢?很明显,我们需要通过管道输出给‘wc’命令来计算。
12 可以在Linux系统上查看到所有非打印字符吗?你是怎么做到的?
可以。可以在Linux中查看所有的非打印字符。要实现上面所讲的方案,我们需要‘vi’编辑器的帮助。 怎样在‘vi’编辑器中显示非打印字符?
打开vi编辑器。
先按[esc]键,然后按‘:’进入到vi编辑器的命令模式。
最后,从‘vi’编辑器的命令界面输入set list命令并执行。
打开vi编辑器。
先按[esc]键,然后按‘:’进入到vi编辑器的命令模式。
最后,从‘vi’编辑器的命令界面输入set list命令并执行。
其他的 c/c++的基础知识。