阿里巴巴春招的后端面经,问了比较多的计算机基础和数据库的内容。
操作系统
一个操作系统,我们在衡量它的内存占用的时候,它一般会有哪些内存的部分?
答:堆和栈
补充:
这个其实是问你对free命令的理解。
主机的内存做一些清理的动作。你知道这里面会涉及到对哪些内存区域进行操作吗?
答:不了解
补充:
系统内存紧张的时候,就会进行回收内存的工作,那具体哪些内存是可以被回收的呢?
主要有两类内存可以被回收,而且它们的回收方式也不同。
-
文件页(File-backed Page):内核缓存的磁盘数据(Buffer)和内核缓存的文件数据(Cache)都叫作文件页。大部分文件页,都可以直接释放内存,以后有需要时,再从磁盘重新读取就可以了。而那些被应用程序修改过,并且暂时还没写入磁盘的数据(也就是脏页),就得先写入磁盘,然后才能进行内存释放。所以,回收干净页的方式是直接释放内存,回收脏页的方式是先写回磁盘后再释放内存。
-
匿名页