• 备战2024秋招面试题-查看Linux的进程


    前言: \textcolor{Green}{前言:} 前言:

    💞快秋招了,那么这个专栏就专门来记录一下,同时呢整理一下常见面试题
    💞部分题目来自自己的面试题,部分题目来自网络整理

    学习目标:

    • Linux有哪些命令
    • 查看Linux的进程
    • 算法题:排序链表

    面试题:

    Linux有那些命令?

    文件和目录管理:ls、cd、pwd、mkdir、cp、mv、rm、chmod、chown、touch、cat、more、less、ln等。

    系统信息查询:date、uptime、uname、whoami、cal、history、top、ps、df、du、free、netstat等。

    用户及权限管理:useradd、userdel、passwd、groupadd、groupdel、su、sudo、visudo等。

    网络配置和管理:ifconfig、ping、route、nslookup、telnet、ssh、scp、ftp等。

    进程和服务管理:service、systemctl、kill、killall、pgrep、pkill等。

    磁盘管理:fdisk、mkfs、fsck、mount、umount、dd、parted等。

    包管理:apt-get、yum、dpkg、rpm等。

    查看linux的进程?

    1. ps 命令
      用来列出系统中的进程。常用的选项包括:
      -e:显示所有进程
      -f:显示完整格式
      -u:uesr 显示某个用户的进程

    2. top
      top 命令用来动态地显示系统中运行的进程信息。按照 CPU 使用率的高低来排序进程,并以交互方式显示。使用该命令可以实时看到进程的CPU占用率、进程名称等信息。

    3. htop
      htop 命令是 top 命令的增强版,提供了更好的用户体验和交互式界面。功能与 top 相似,界面更加丰富,同时可以通过 htop 来杀死一个进程、改变进程的优先级等。

    4. pstree
      pstree 命令 可以通过树状图的形式显示进程间的父子关系。可以更好的帮助我们了解进程间的关系,方便查找进程中的异常或者错误。


    算法题:

    题目来源: \textcolor{blue}{题目来源: } 题目来源: 148. 排序链表
    等级:中等 \textcolor{OrangeRed}{等级:中等} 等级:中等

    👉题目描述

    给你链表的头结点 head ,请将其按 升序 排列并返回 排序后的链表

    示例 1:
    在这里插入图片描述

    输入:head = [4,2,1,3]
    输出:[1,2,3,4]
    
    • 1
    • 2

    示例 2:
    在这里插入图片描述

    输入:head = [-1,5,3,4,0]
    输出:[-1,0,3,4,5]
    
    • 1
    • 2

    示例 3:

    输入:head = []
    输出:[]
    
    • 1
    • 2

    提示:

    • 链表中节点的数目在范围 [ 0 , 5 ∗ 1 0 4 ] 内 链表中节点的数目在范围 [0, 5 * 10^4] 内 链表中节点的数目在范围[0,5104]
    • − 1 0 5 < = N o d e . v a l < = 1 0 5 -10^5 <= Node.val <= 10^5 105<=Node.val<=105

    进阶:你可以在 O(n log n) 时间复杂度和常数级空间复杂度下,对链表进行排序吗?

    👉代码编写

    使用归并算法。首先通过快慢指针找到中点,分别排序,最后将两个 list 合并起来

    👉👉方法1

    /**
     * Definition for singly-linked list.
     * public class ListNode {
     *     int val;
     *     ListNode next;
     *     ListNode() {}
     *     ListNode(int val) { this.val = val; }
     *     ListNode(int val, ListNode next) { this.val = val; this.next = next; }
     * }
     */
    class Solution {
        public ListNode sortList(ListNode head) {
            return sortList(head, null);
        }
    
        public ListNode sortList(ListNode head, ListNode tail) {
            if (head == null) {
                return head;
            }
            if (head.next == tail) {
                head.next = null;
                return head;
            }
            // 快慢指针找中点
            ListNode slow = head, fast = head;
            while (fast != tail) {
                slow = slow.next;
                fast = fast.next;
                if (fast != tail) {
                    fast = fast.next;
                }
            }
            ListNode mid = slow;
            ListNode list1 = sortList(head, mid);
            ListNode list2 = sortList(mid, tail);
            ListNode sorted = merge(list1, list2);
            return sorted;
        }
    
        public ListNode merge(ListNode list1, ListNode list2) {
            ListNode dummyHead = new ListNode(0);
            ListNode temp = dummyHead, temp1 = list1, temp2 = list2;
            while (temp1 != null && temp2 != null) {
                if (temp1.val <= temp2.val) {
                    temp.next = temp1;
                    temp1 = temp1.next;
                } else {
                    temp.next = temp2;
                    temp2 = temp2.next;
                }
                temp = temp.next;
            }
            if (temp1 != null) {
                temp.next = temp1;
            }
            if (temp2 != null) {
                temp.next = temp2;
            }
            return dummyHead.next;
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    • 61

    完成?

    今天结束。之前学习的明白了吗?
    • Linux有哪些命令
    • 查看Linux的进程
    • 算法题:排序链表
  • 相关阅读:
    【单片机仿真】(四)寻址方式 — 寄存器寻址与直接寻址
    MySqL速成教程笔记系列八
    Cookie与Session
    ChatGPT全方位解析:如何培养 AI 智能对话技能?
    记一次Mysql数据库宕机This could be because you hit a bug.
    LCR 012.寻找数组的中心下标
    docker之Harbor私有仓库
    HTML5图形绘制——canvas元素
    Excel生成不重复的UUID
    Matlab之绘制地球
  • 原文地址:https://blog.csdn.net/qq_43585922/article/details/131585946