面经——Linux相关

2023-10-31

摘自:看完这些面试必问的Linux小知识,我保证你面试后会来给我的文章一键三连
作者:万里羊
发布时间:2021-04-09 21:55:23
网址:https://blog.csdn.net/weixin_44895651/article/details/115532107

       作为一名以后想从事嵌入式Linux工程师的大学生,那么Linux肯定是得学习的。如果要从事C++后台或者服务器运维相关的工作那么Linux肯定也是一个必备的工具啦!既然作为工作中需要接触的工具那么在面试过程中就一定会问到,关于Linux的基本命令、Linux的基本组件、进程间通信、线程间同步…都有可能被问到。尽管面试考察的方面很多,但是经过大量的面试就会发现有很多问题面试官是会百问不厌的。
往期推荐:
       经过笔试和多轮技术面试我居然败给了HR面?
       面试官说:我们不要连Android TP驱动流程都不知道的人
Alt

高能预警 干货满满 不确定看看?然后再给个一键三连?
文章将更新!
走过路过千万别错过,点赞收藏+关注是对我最大的支持

文章目录

Linux——系统篇

Linux是什么?

       简单的来说Linux就是一套开源的和自由传播的基于Unix操作系统,是一个基于POSIX和Unix的多用户、多任务、支持多线程和多CPU的操作系统。简单的来说就是和windows、Mac OS比较像的一种多任务、多用户的操作系统!

Unix和Linux有什么区别?

       Linux和Unix都是功能强大的操作系统,都是应用广泛的服务器操作系统,有很多相似之处,甚至有一部分人错误地认为Unix和Linux操作系统是一样的,然而,事实并非如此,以下是两者的区别。

  1. 开源性
    Linux是一款开源操作系统,不需要付费,即可使用;Unix是一款对源码实行知识产权保护的传统商业软件,使用需要付费授权使用。

  2. 跨平台性
    Linux操作系统具有良好的跨平台性能,可运行在多种硬件平台上;Unix操作系统跨平台性能较弱,大多需与硬件配套使用。

  3. 可视化界面
    Linux除了进行命令行操作,还有窗体管理系统;Unix只是命令行下的系统。

  4. 硬件环境
    Linux操作系统对硬件的要求较低,安装方法更易掌握;Unix对硬件要求比较苛刻,安装难度较大。

  5. 用户群体
    Linux的用户群体很广泛,个人和企业均可使用;Unix的用户群体比较窄,多是安全性要求高的大型企业使用,如银行、电信部门等,或者Unix硬件厂商使用,如Sun等。

       相比于Unix操作系统,Linux操作系统更受广大计算机爱好者的喜爱,主要原因是Linux操作系统具有Unix操作系统的全部功能,并且能够在普通PC计算机上实现全部的Unix特性,开源免费的特性,更容易普及使用!

Linux系统的组成部分?

       Linux系统由 boot loader、Linux kernel 、Linux Shell、Linux应用程序组成。

Linux内核的组成部分?

       (1)第一种分类方式:内存管理子系统、进程管理子系统、文件管理子系统、I/O管理子系统

       (2)第二种分类方式:进程调度(SCHED)、进程间通信(IPC)、内存管理(MMU)、虚拟文件系统(VFS)、网络接口(NET)

内存管理单元MMU有什么作用?

       内存管理单元的主要作用是内存映射、内存分配和回收、内存保护、内存扩充

常见的操作系统进程调度策略有哪些?

       先来先服务、短进程优先、高响应比优先、时间片轮转、多级反馈队列、最高优先权优先。

I/O子系统层次结构

       从上至下依次是用户层I/O软件,设备独立性软件,设备驱动程序,中断处理程序

逻辑地址、线性地址、物理地址、总线地址、虚拟地址的区别?

地址 简介
逻辑地址 与内存段相关的偏移地址部分。例如,在C语言获取指针变量的值,就是逻辑地址,不和绝对的物理地址相关
线性地址 线性地址=逻辑地址+基地址
物理地址 如果启动了分页机制,那么线性地址使用页表项变换后就是物理地址。如果没有启用分页机制,那么线性地址就是物理地址。
总线地址 x86下的I/O地址,ARM下的物理地址。
虚拟地址 MMU虚拟出来的地址

操作系统的内存一般有哪几种方式,各有什么优缺点?

  • 分页存储管理:优点是不需要连续的内存空间,且内存利用率高(只有很小的页内碎片);缺点是 不易于实现内存共享与保护。
  • 分段存储管理:优点是易于实现段内存共享和保护;缺点是每段都需要连续的内存空间,且内存利 用率较低(会产生外部碎片)。
  • 段页式存储管理:优点是不需要连续的内存空间,内存利用率高(只有很小的页内碎片),且易于 实现段内存共享和保护;缺点是管理软件复杂性较高,需要的硬件以及占用的内存也有所增加,使得执 行速度下降。

用户空间和内核通信的方式有哪些?

系统调用API 用户空间进程通过系统调用进入内核空间,访问指定的内核空间数据
驱动程序 用户空间进程可以使用封装后的系统调用接口访问驱动设备节点,和运行在内核空间的驱动程序通信
copy_to_user()、copy_from_user() 在驱动程序中调用的接口,实现用户空间和内核空间的数据拷贝操作,应用于实时性要求不太高的项目中
procfs 是一种特殊的文件系统,是Linux内核信息的抽象文件接口,大量内核中的信息以及可调用的参数都被作为常规文件映射到这个目录树中,用户可以直接通过echo或cat这样的命令对系统信息进行修改和查询。
共享内存mmap 在代码调用接口,实现内核空间与用户空间的地址映射,在实时性要求很高的项目中为首选
netlink 用户进程使用标准的socket API就可以使用netlink提供的强大功能

调用API read()/write()时,内核具体做了那些事情?

       用户进程调用read()/write()后进入内核空间-> 调用内核的sys_read()/sys_write()函数 -> 内核函数进一步调用fop.read()/fop.write()指向的函数,也就是驱动程序里具体的读写函数。

系统调用的作用?

       为应用程序提供访问硬件的同一接口,以至于应用程序不必关心具体的硬件操作细节。

       为系统内核提供保护,保证系统的稳定和安全,因为**系统调用还规定了用户进程进入内核的具体方式以及所能访问的数据范围**。

Boot loader、Linux内核、根文件系统三者之间的关系?

       系统上电,就执行Bootloader来初始化处理器及其外设,将系统的软硬件环境带到一个合适的状态

       Boot loader传递给Linux 内核 bootcmd和boot targs这两个比较重要的参数,让Linux内核知道从内存中那个地方读取相关的设备树,系统镜等文件,然后执行Linux内核。

       Linux内核完成初始化之后就挂载某个文件系统作为根文件系统。

Bootloader的启动过程分为那两个阶段?

  • 第一个阶段是汇编阶段,完成一些依赖于CPU体系结构的初始化,并执行第二阶段的代码。
  • 第二阶段是C语言的,进一步完成硬件的初始化,并建立内存映射,并将内存和根文件系统读取到内存中,然后启动内核

Linux——人机交互篇

Linux常用命令

       在博主之前的文章中有整理了相关的Linux常用命令可以查看史上最全的Linux常用命令汇总(超全面!超详细!)收藏这一篇就够了!这篇文章,这篇文章覆盖了绝大部分的Linux命令!目前已经有1000+点赞,6000+收藏。这里面需要重点关注的命令就是关于**Linux用户Linux进程管理文件查找**这些是面试官最喜欢问的问题也是最容易记混淆的知识!既然是最容易记混淆的那么就需要重点关注整理一下!

命令 作用 说明
useradd -m -g 组 新建用户名 添加新用户 - m 自动创建用户家目录
- g 指定用户所在的组,负责会建立一个和同名的组
passwd 设置用户密码 如果是普通用户,直接用passwd可以修改自己的账户密码
userdel -r 用户名 删除用户 -r 选项会自动删除家用户目录
cat /etc/passwd | grep 用户名 确认用户信息 新建用户后,用户信息会保存在/etc/passwd文件中
命令 作用 说明
ps -aux 查看进程的详细信息 - a 显示终端上的所有进程
- u 显示进程的详细状态
- x 显示没有控制终端的进程
ps -ef | grep -列出需要的进程 配合管道查看相关的进程的详细信息
pstree 通过显示进程的树状图来展示进程间的关系 如果指定了pid,那么树的根就是该pid
top 监控系统不同进程所使用的资源信息
nice <优先值> <进程名> - 通过给定的优先值启动一个程序 设置改变进程的优先级 普通用户只能设置0~20,越小优先级越高
renice -n -g - 改变指定进程的优先值 通过改变指定用户和组来改变进程优先级
kill 用于发送信号来结束进程 可以通过-9参数来执行
netstat -nap | grep xxx 查看进程号为xxx的端口占用号
命令 作用 说明
find <指定目录> <指定条件> <指定动作> 查找指定目录下的指定文件,并对文件进行相关操作 条件参数可以是 - name按照名字进行查找
grep grep允许对文本进行模式查找 - n显示匹配行及行号
- v显示不包含匹配文本的所有行(相当于取反)
- i 忽略大小

Shell脚本

       用户界面和命令行这个另外开发的程序,Linux下这个命令行的程序就叫Shell,其是一个应用程序,它连接了用户和 Linux 内核,让用户能够更加高效、安全、低成本地使用 Linux 内核,这就是 Shell 的本质

       博主在之前学习Shell脚本的时候已经整理的比较详细了,这里就把链接给贴出来啦!

GCC、GDB、makefile

  • 预处理:引入头文件、进行宏替换、处理条件编译指令、去除注释、添加行号。
  • 编译:进行语法分析等,并生成汇编代码.s。
  • 汇编:将汇编代码转成二进制代码.o(目标文件)。
  • 链接:将有关的目标文件彼此连接为可执行代码。分为静态链接(将库文件代码搬迁到可执行文件 中,后缀是.a)和动态链接(在执行的时候转到库文件代码执行,后缀是.so)。

之前也有整理关于代码的编译还有调试相关的文章,可以戳链接进入文章代码从编译到运行经历了什么?

makefile

       makefile从入门到放弃——博主吐血整理的笔记

       makefile的基本条件就是目标和依赖

Linux ——进程线程篇

进程间通信

       每个进程各自有不同的用户地址空间,任何一个进程的全局变量在另一个进程中都看不到,所以进程间交换数据必须通过内核,在内核中开辟一块缓冲区,进程1把数据从用户空间拷贝到内核缓冲区,进程2再从内核缓冲区把数据读走,内核提供这种机制称为进程间通信!

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2DMiFYSH-1617975383512)(C:\Users\lenovo-pc\AppData\Roaming\Typora\typora-user-images\image-20210409204514616.png)]

  • 管道

    项目 通信方式 特点
    无名管道(内存文件) 半双工通信 数据只能单向流动,只能在有亲缘关系的进程间使用(父子进程)
    有名管道(FIFO文件,借助文件系统) 半双工通信 允许在没有亲缘关系的进程间使用,是先进先出的通信方式
  • 共享内存:共享内存就是映射一段能被其他进程所访问的内存,这段内存由一个进程创建,但是多个进程可以访问。共享内存是最快的IPC方式,他是针对其他进程间通信方式运行效率低而专门设计的。

  • 消息队列:消息队列是有消息的链表,存放在内核中并由消息队列标识符标识。消息队列克服了信号传递信息少、管道只能承载无格式字节流以及缓冲区大小受限制等缺点。

  • 套接字:适用于不同机器间进程通信,在本地可作为两个进程间通信的方式。

  • 信号:用于通知接收进程某个时间已经发生,比如按下ctrl+C就是信号

  • 信号量:信号量就是一个计数器,可以用来控制多个进程对共享资源的访问。常用一种锁的机制,实现进程、线程的临界区的同步及互斥访问。

线程间同步机制

  • POSIX无名信号量(基于内存的信号量):可以用于进程间同步
  • POSIX有名信号量:线程进程都适用
  • 初始化、P操作(申请资源)、V操作(释放资源)
  • 互斥锁+条件变量:只能用于线程间同步

线程与进程的区别

       调度:线程是调度的基本单位;进程是拥有所有资源的基本单位。

       并发性:一个进程内多个线程可以并发;多个进程可以并发

       拥有资源:进程拥有独立的地址空间;线程不拥有系统资源。

       系统开销:线程创建销毁只需要处理PC值,状态码,通用寄存器,线程栈和栈指针即可;进程创建和线程需要分配及销毁task_struct结构。

关于线程与进程我也有整理相关的博客:

什么是死锁?产生死锁的原因是什么?

       死锁是指多个进程因竞争资源而造成的一种僵局(互相等待),若无外力作用,这些进程将无法向前推进。

       原因:①系统资源不足。②资源分配不当。③进程推进的顺序不合适。

死锁的四个必要条件是什么?

      互斥条件:一个资源每次只能被一个进程使用,其他进程只能等待。

       请求与保持条件:进程已经获得至少一个资源,但又提出了新的资源请求,而该资源已被其他进程占有,此时该进程被阻塞,但对已获得资源依然保持不放。

       不可剥夺条件:进程所获得的资源不能被其他进程剥夺,只能被自己释放。

       循环等待条件:若干进程形成首尾相接循环等待资源的关系。

       注意:以上四个条件缺一不可

死锁的处理方法?

(1)预防死锁:通过设置一些限制条件,去破坏产生死锁的必要条件。

(2)避免死锁:在资源分配过程中,使用某种方法避免系统进入不安全的状态,从而避免发生死锁。

(3)检测和解除死锁:允许死锁的发生,但是通过系统的检测之后,采取一些措施,将死锁清除掉。

如何预防死锁?

(1)破坏“请求与保持条件”:

  • ①静态分配,即每个进程在开始执行时就申请它所需要的全部资源

  • ②动态分配,即每个进程在申请所需要的资源时它本身不占用系统资源。

(2)破坏“不可剥夺条件”:一个进程在阻塞等待期间,其占有的资源被隐式释放后被其他进程使用,而阻塞等待的资源只有获得所有需要的资源才能重新启动。

(3)破坏“循环等待条件”:采用资源的有序分配,将所有资源进行编号,紧缺的资源采用比较大的编号,一个进程只有获得较小编号的资源才可以申请较大编号的资源。

Linux——网络篇

网络基础知识

       借鉴之前整理的博客:网络基础知识

TCP编程

       借鉴之前整理的博客:网络编程——TCP

网络高频面试题汇总

       借鉴之前博客整理的面试题掌握了这些面试题,离大厂的距离更近一步!

本文将持续更新和维护,如果觉得对自己有帮助就给个赞和关注吧!

       不积小流无以成江河,不积跬步无以至千里。而我想要成为万里羊,就必须坚持学习来获取更多知识,用知识来改变命运,用博客见证成长,用行动证明我在努力。
       如果我的博客对你有帮助、如果你喜欢我的博客内容,记得“点赞” “评论” “收藏”一键三连哦!听说点赞的人运气不会太差,每一天都会元气满满呦!如果实在要白嫖的话,那祝你开心每一天,欢迎常来我博客看看。
在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

面经——Linux相关 的相关文章

  • 每个进程每个线程的时间量

    我有一个关于 Windows 和 Linux 中进程和线程的时间量子的问题 我知道操作系统通常为每个线程提供固定的时间量 我知道时间量根据前台或后台线程而变化 也可能根据进程的优先级而变化 每个进程有固定的时间量吗 例如 如果操作系统为每个
  • 适用于 KDE 和 Gnome 的 Gui [重复]

    这个问题在这里已经有答案了 我想为一个现在是 CLI 的应用程序编写一个 gui 它需要在 KDE 和 Gnome DE 中 看起来不错 充分利用用户的外观设置 如果我选择 Qt 或 GTK 我能够做到这一点吗 它们与两个 DE 集成良好吗
  • 如何在特定 systemd 服务重新启动时触发自定义脚本运行

    我想知道如何安排自定义脚本在重新启动服务时运行 我的用例是 每当重新启动 Tomcat 服务时 我都必须运行多个命令 我想知道是否有一种方法可以编写脚本并安排它在重新启动 Tomcat 服务时运行 我已将 tomcat 脚本设置为 syst
  • 劫持系统调用

    我正在编写一个内核模块 我需要劫持 包装一些系统调用 我正在暴力破解 sys call table 地址 并使用 cr0 来禁用 启用页面保护 到目前为止一切顺利 一旦完成 我将公开整个代码 因此如果有人愿意 我可以更新这个问题 无论如何
  • Composer 安装要求

    我正在尝试将 Composer 安装到 Laravel 项目中 当我做的时候sudo composer install在项目目录中它显示了两个错误 Problem 1 Installation request for simplesoftw
  • Docker:处理 tar 文件时出错(退出状态 1):设置枢轴目录时出错:不是目录

    我是 Docker 新手 不知道是什么原因导致此错误或如何诊断它 任何有关此问题的具体帮助或有关首先检查何处以诊断此类问题的提示将不胜感激 我的 Dockerfile FROM java 8 Install maven RUN apt ge
  • 设置 Apache POI 的路径

    我想创建 Excel 文件并使用 java 程序在该文件中写入数据 That is here http www techbrainwave com p 554我在 java 文件所在的位置提取了 Apache POI 并将该路径包含在路径变
  • 信号处理程序有单独的堆栈吗?

    信号处理程序是否有单独的堆栈 就像每个线程都有单独的堆栈一样 这是在 Linux C 环境中 来自 Linux 手册页signal 7 http kernel org doc man pages online pages man7 sign
  • GCC 和 ld 找不到导出的符号...但它们在那里

    我有一个 C 库和一个 C 应用程序 尝试使用从该库导出的函数和类 该库构建良好 应用程序可以编译 但无法链接 我得到的错误遵循以下形式 app source file cpp text 0x2fdb 对 lib namespace Get
  • 如何制作和应用SVN补丁?

    我想制作一个SVN类型的补丁文件httpd conf这样我就可以轻松地将其应用到其他主机上 If I do cd root diff Naur etc httpd conf httpd conf original etc httpd con
  • 嵌入式Linux poll()不断返回

    我有一个特别的问题 当我知道没有什么可读时 民意调查不断返回 因此设置如下 我有 2 个文件描述符 它们构成fd设置民意调查监视 一种用于引脚从高到低的变化 GPIO 另一个用于代理输入 代理输入出现问题 处理的顺序是 启动main函数 然
  • QFileDialog::getSaveFileName 和默认的 selectedFilter

    我有 getSaveFileName 和一些过滤器 我希望当用户打开 保存 对话框时选择其中之一 Qt 文档说明如下 可以通过将 selectedFilter 设置为所需的值来选择默认过滤器 我尝试以下变体 QString selFilte
  • 为什么我收到的数据包数据大小大于mss?

    我在两台 PC 上使用 ifconfig ethX mtu 300 修改了 MTU 并使用 netperf 测试网络 我用 WireShark 嗅探了 SYN 数据包中的 MSS 260 但我得到了一些大于 260 的数据包 为什么 嗅探器
  • 如何修复“iptables:没有该名称的链/目标/匹配”?

    我在我的 Linux 嵌入式系统上构建并安装了 iptables 如果我列出所有规则 则一切正常 iptables list Chain INPUT policy ACCEPT target prot opt source destinat
  • bluetoothctl 到 hcitool 等效命令

    在 Linux 中 我曾经使用 hidd connect mmac 来连接 BT 设备 但自 Bluez5 以来 这种情况已经消失了 我可以使用 bluetoothctl 手动建立连接 但我需要从我的应用程序使用这些命令 并且使用 blue
  • Elasticsearch 无法写入日志文件

    我想激活 elasticsearch 的日志 当我运行 elasticsearch 二进制文件时 我意识到我在日志记录方面遇到问题 无法加载配置 这是输出 sudo usr share elasticsearch bin elasticse
  • awk 子串单个字符

    这是columns txt aaa bbb 3 ccc ddd 2 eee fff 1 3 3 g 3 hhh i jjj 3 kkk ll 3 mm nn oo 3 我可以找到第二列以 b 开头的行 awk if substr 2 1 1
  • 创建 jar 文件 - 保留文件权限

    我想知道如何创建一个保留其内容的文件权限的 jar 文件 我将源代码和可执行文件打包在一个 jar 文件中 该文件将在使用前提取 人们应该能够通过运行批处理 shell 脚本文件立即运行示例和演示 然后他们应该能够修改源代码并重新编译所有内
  • 如何通过替换为空页映射来取消映射 mmap 文件

    Linux 用户空间有没有办法用空页面 映射自 dev null 或者可能是一个空页面 重复映射到从文件映射的页面的顶部 对于上下文 我想找到这个 JDK bug 的修复 https bugs openjdk java net browse
  • 从 csv 文件中删除特定列,保持输出上的相同结构[重复]

    这个问题在这里已经有答案了 我想删除第 3 列并在输出文件中保留相同的结构 输入文件 12 10 10 10 10 1 12 23 1 45 6 7 11 2 33 45 1 2 1 2 34 5 6 I tried awk F 3 fil

随机推荐

  • 最详细小白入门Python4-变量

    变量特性 容器 临时 可变 变量定义的格式 变量名 值 标识符的命名规则 只能是数字字母下划线组成 首字母不能是数字 严格区分大小写 不能是关键字 在Python中定义变量必须赋值 否则报错 牛奶和可乐交换的案例 交换方式 获取一个空杯子
  • 大数据运维学习之路

    业内有这么一句话说 云计算可能改变了整个传统IT产业的基础架构 而大数据处理 尤其像Hadoop组件这样的技术出现 将是改变IT业务模式的一种技术 另外 很多小伙伴可能还搞不明白云和Hadoop有什么关系 事实上这是两种截然不同的技术 今天
  • [datawhale202302]CS224W图机器学习:图的基本表示及特征工程

    结论速递 本章涉及了图基本表示及传统的特征工程 图由节点和连接组成 节点和连接上都可以有不同的属性 根据属性的特点 分为几类不同的图 其中异质图和二分图是比较重要的特殊图 图可以用邻接矩阵进行结构化表示 如果图过于稀疏 也可以使用连接列表和
  • c语言单例模式,c#单例模式(Singleton)的6种实现

    1 1 1 摘要 在我们日常的工作中经常需要在应用程序中保持一个唯一的实例 如 IO处理 数据库操作等 由于这些对象都要占用重要的系统资源 所以我们必须限制这些实例的创建或始终使用一个公用的实例 这就是我们今天要介绍的 单例模式 Singl
  • SecureCRT的设置

    转载 简要介绍 VanDyke CRT 和 VanDyke SecureCRT是最常用的终端仿真程序 简单的说就是windows下登录UNIX或Liunx服务器主机的软件 二者不同的是SecureCRT支持SSH SSH1和SSH2 本文主
  • python基础 四、面向对象

    第六章 面向对象 继承 多继承 class FooParent object def init self self parent I m the parent print Parent def bar self message print
  • dicom信息+dcmtk使用

    dcmtk使用 常见错误 错误 E can t load data dictionary W Monochrome encoder No data dictionary 解决 https forum dcmtk org viewtopic
  • Internet路由之路由表查找算法概述-哈希/LC-Trie树/256-way-mtrie树

    说明 本文没有源码分析的内容 然而我认为能理解本质比能看懂源码更有用 因为理解了本质之后 你也许就不用再看源码了 你甚至都可以写源码了 这就是Linux内核和Cisco的网站中包含大量文档的原因 引 路由是互联网的一个核心概念 广义的讲 它
  • js深克隆五种方法

    使用递归 使用递归的方式实现数组 对象的深拷贝 判断拷贝的要进行深拷贝的是数组还是对象 是数组的话进行数组拷贝 对象的话进行对象拷贝 进行深拷贝的不能为空 并且是对象 function cloneDeep obj var objClone
  • DRC设计规则设置介绍-Design Compiler(四)

    文章目录 4 1 设计规则相关命令设置 4 1 1 set load 输出驱动强度 4 1 2 set input transition 输入驱动强度 参考文档 系列学习介绍DC相关知识 包括ASIC基本单元相关 DC指令工艺库脚本相关 后
  • mysql 的帐号认证和权限控制

    在 mysql 的语句处理流程 中 有两处进行了权限的管理 分别为 authentication 和 access control 1 authentication是使用user 用户名 和host 客户端主机 以及password对客户端
  • 1、ROS常用命令以及调参工具

    1 ROS常用命令以及调参工具 简介 1 1 常用命令的使用 学习目标 工作任务 1 1 常用命令的使用 简介 ROS机器人操作系统提供了一种发布 订阅式的通信框架 非常简单方便 并且ROS提供了大量工具用于调试 可视化 测试数据 本节项目
  • ABCD+5G之D——大数据(Big Data)

    学习自网易公开课厦门大学公开课 一 大数据概述 1 大数据时代
  • git本地免密码和账号pull、push

    说明 HOME 一般为C users Administrator 也可以是你自己创建的系统用户名目录 反正都在C users 中 一 windows下 需要创建一个 git credentials文件 由于在Window中不允许直接创建以
  • Visual Studio Code怎么停止正在运行的Python脚本?

    有时候 写了无限循环的脚本 又或者脚本还没有运行完毕 却想要终止它 比如 这个无限循环的命令 import datetime now datetime datetime now h now hour while h lt 25 print
  • 初识 ABP 框架

    目录 前言 一 创建ABP应用的方式 二 运行基于ABP的控制台应用 三 运行基于ABP的Web应用 四 Abp中的注入 五 模块的生命周期 参考文档 前言 本文使用 NET Core SDK 3 1 的版本 ABP Framework 在
  • 18.3. TTY 线路设置

    http oss org cn kernel book ldd3 ch18s03 html 18 3 TTY 线路设置 当一个用户要改变一个 tty 设备的线路设置或者获取当前线路设置 他调用一个许多的不同 termios 用户空间库函数或
  • 面向对象编程——封装和继承

    目录 一 封装 1 封装的解释 2 权限修饰符 3 如何使用private 二 继承 1 继承关系的引出 2 继承的解释 3 代码实例 4 单继承的解释 5 显式继承和隐式继承 1 显式继承 2 隐式继承 6 关于protected权限 7
  • 算法通关村18关

    1 分割回文串 题目 LeetCode131 分割回文串 给你一个字符串s 请你将s分割成一些字串 使每个字串都是回文串 返回s所有可能的分割方案 回文串是正着和反着读都是一样的字符串 思路 知道回溯的模板 用回溯的角度思考就清晰很多 切割
  • 面经——Linux相关

    摘自 看完这些面试必问的Linux小知识 我保证你面试后会来给我的文章一键三连 作者 万里羊 发布时间 2021 04 09 21 55 23 网址 https blog csdn net weixin 44895651 article d