软件工程&数据结构

1.软件版本管理(?保存全量副本,记录所有系统变更)

2.计划驱动开发(瀑布模式)

3.系统级别隔离-selinux,容器,沙箱,ptrace

1)沙箱的目的为了你在沙箱里面做的任何操作,都对外界没有任何影响。你可以随便搞。
2)容器是为了你部署应用方便,为你隔离出来一个单独的环境,外界的变化不会影响你的应用的正常运行。一个是不会让里面影响到外面,一个是不会让外界影响到里面。而且容器里面的服务是会对容器外提供的
3)Ptrace 提供了一种父进程可以控制子进程运行,并可以检查和改变它的核心image。它主要用于实现断点调试。一个被跟踪的进程运行中,直到发生一个信号。则进程被中止,并且通知其父进程。在进程中止的状态下,进程的内存空间可以被读写。父进程还可以使子进程继续执行,并选择是否是否忽略引起中止的信号
4)SELinux 主要作用就是最大限度地减小系统中服务进程可访问的资源(最小权限原则)

4.冒泡排序长度为50的列表,最坏的情况是多少次 (n-1)*(n-1+1)/2

5.架构威胁建模 ASTRID SD(?)

6.fossbot(?)

7.默认失败安全设计(?)

8.开源使用声明文档(?)

9.故障通报设计

10.数组、列表、栈、链表、树的逻辑结构

1)线性结构:作为最常用的数据结构,其特点是数据元素之间存在一对一的线性关系。线性结构拥有两种不同的存储结构,即顺序存储结构和链式存储结构。顺序存储的线性表称为顺序表,顺序表中的存储元素是连续的,链式存储的线性表称为链表,链表中的存储元素不一定是连续的,元素节点中存放数据元素以及相邻元素的地址信息。例如:链表、队列、栈

2)非线性表:参考图、数,往往数据间的关系是一对多、多对一等,例如:树,图

11.客户要求产品软件继承指定某开源软件已到期

12.软件工程

13.升级不中断业务-所有单板一起升级

14.队列无法判断是否为空(错)

15.可用分治法求解的算法

posted @ 2021-08-25 20:47  舍得先森  阅读(829)  评论(0)    收藏  举报