前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >面试跨不过去的门槛

面试跨不过去的门槛

作者头像
互联网老辛
发布2020-06-23 15:10:30
4470
发布2020-06-23 15:10:30
举报
文章被收录于专栏:互联网老辛互联网老辛
1. Linux下如何使用配置文件设置网卡IP地址。
代码语言:javascript
复制
[root@ecs-c13b ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0
TYPE=Ethernet                # 网卡类型:为以太网
PROXY_METHOD=none            # 代理方式:关闭状态
BROWSER_ONLY=no                # 只是浏览器:否
BOOTPROTO=dhcp                # 网卡的引导协议:DHCP[中文名称: 动态主机配置协议]
DEFROUTE=yes                # 默认路由:是, 不明白的可以百度关键词 `默认路由`
IPV4_FAILURE_FATAL=no        # 是不开启IPV4致命错误检测:否
IPV6INIT=yes                # IPV6是否自动初始化: 是[不会有任何影响, 现在还没用到IPV6]
IPV6_AUTOCONF=yes            # IPV6是否自动配置:是[不会有任何影响, 现在还没用到IPV6]
IPV6_DEFROUTE=yes            # IPV6是否可以为默认路由:是[不会有任何影响, 现在还没用到IPV6]
IPV6_FAILURE_FATAL=no        # 是不开启IPV6致命错误检测:否
IPV6_ADDR_GEN_MODE=stable-privacy            # IPV6地址生成模型:stable-privacy [这只一种生成IPV6的策略]
NAME=ens33                    # 网卡物理设备名称
UUID=f47bde51-fa78-4f79-b68f-d5dd90cfc698    # 通用唯一识别码, 每一个网卡都会有, 不能重复, 否两台linux只有一台网卡可用
DEVICE=ens33                    # 网卡设备名称, 必须和 `NAME` 值一样
ONBOOT=no                        # 是否开机启动, 要想网卡开机就启动或通过 `systemctl restart network`控制网卡,必须设置为 `yes`


设置静态ip:
BOOTPROTO=static
ONBOOT=yes
IPADDR=192.168.1.111
NETMASK=255.255.255.0
GATEWAY=192.168.1.1

设置完成后:
systemctl restart network

2. Linux下配置主机名,并使之永久生效

代码语言:javascript
复制
centos7:
[root@ecs-c13b ~]# hostnamectl  查看当前主机名情况
   Static hostname: ecs-c13b
         Icon name: computer-vm
           Chassis: vm
        Machine ID: 8f5b018f6eb344909f6cfec5ad0839ef
           Boot ID: 6f00bd8d7498442d988377805d1f448e
    Virtualization: kvm
  Operating System: CentOS Linux 7 (Core)
       CPE OS Name: cpe:/o:centos:centos:7
            Kernel: Linux 3.10.0-1062.12.1.el7.x86_64
      Architecture: x86-64

修改主机名的三种方式:
1) 临时有效的
[root@ecs-c13b ~]# hostname gaosh
2) 永久生效的
[root@ecs-c13b ~]# hostnamectl set-hostname "zmgaosh"
3) 修改/etc/hostname
[root@ecs-c13b ~]# cat /etc/hostname
zmgaosh
3. 给出你经常用的远程访问一台Linux主机的工具和方法,如何向远程主机上传文件,如何从远程主机向本地下载文件
代码语言:javascript
复制
远程访问Linux主机的工具:xshell ,使用密码或者秘钥的形式进行管理
下载和上传,可以使用命令rz, sz
          也可以直接使用xshell工具
4. 如何查看系统的如下参数:1cpu核心数,内存大小,硬盘总量 2 当前的cpu利用率,每个cpu核的利用率,当前内存使用情况, 3 指定进程的cpu利用率和内存使用量
代码语言:javascript
复制
查看cpu
[root@ecs-c13b ~]# cat /proc/cpuinfo |grep processor   
processor       : 0
processor       : 1

查看内存:
[root@ecs-c13b ~]# cat /proc/meminfo  |head -n 2
MemTotal:        3879860 kB
MemFree:         3190668 kB

查看硬盘:
[root@ecs-c13b ~]# df -lh
文件系统        容量  已用  可用 已用% 挂载点
devtmpfs        1.9G     0  1.9G    0% /dev
tmpfs           1.9G     0  1.9G    0% /dev/shm
tmpfs           1.9G  8.6M  1.9G    1% /run
tmpfs           1.9G     0  1.9G    0% /sys/fs/cgroup
/dev/vda1        40G  2.1G   36G    6% /
tmpfs           379M     0  379M    0% /run/user/0

top
第三行(Cpus):
分别表示了 CPU 当前的使用率
5. 查看某个目录或者文件的占用空间大小
代码语言:javascript
复制
[root@ecs-c13b ~]# du -h
4.0K    ./.ssh
4.0K    ./.pki/nssdb
8.0K    ./.pki
4.0K    ./test
44K     .
6. 强制关闭一个正在运行的程序
代码语言:javascript
复制
ps -aux |grep 进程
查到进程ID为1234
kill -9 1234
7. iptables 阻止系统发出tcp的flag为reset的数据包
代码语言:javascript
复制
iptables -A INPUT -p tcp --tcp-flags RST RST -j DROP
8. 如何配置Linux系统的环境变量,如何配置Linux系统的用户环境变量。
代码语言:javascript
复制
系统环境变量:
cat /etc/profile
source /etc/profile

用户环境变量
切换到用户的家目录
vim .bash_profile
source /etc/profile
9. 如何更改Linux系统中文件的属性(只读,读写,可执行)
代码语言:javascript
复制
只读:r
读写:rw
可执行:x
使用命令 chmod
10. Linux服务的关闭/启动方法,如何设置某个服务的开启自启动
代码语言:javascript
复制
启动:
 systemctl  start sshd
 关闭:
 systemctl  stop  sshd
centos7 开机自启动
[root@ecs-c13b ~]# systemctl  enable  sshd
centos6
chkconfig --add sshd
11. 如何查看系统中是否安装了指定的rpm包,安装 一个指定的rpm包,使用tcpdump命令,如何从网卡eth1捕获从192.168.0.1到192.168.0.2的udp包或者icmp包。
代码语言:javascript
复制
用法: rpm [选项...]
-a:查询所有套件;
-b<完成阶段><套件档>+或-t <完成阶段><套件档>+:设置包装套件的完成阶段,并指定套件档的文件名称;
-c:只列出组态配置文件,本参数需配合"-l"参数使用;
-d:只列出文本文件,本参数需配合"-l"参数使用;
-e<套件档>或--erase<套件档>:删除指定的套件;
-f<文件>+:查询拥有指定文件的套件;
-h或--hash:套件安装时列出标记;
-i:显示套件的相关信息;
-i<套件档>或--install<套件档>:安装指定的套件档;
-l:显示套件的文件列表;
-p<套件档>+:查询指定的RPM套件档;
-q:使用询问模式,当遇到任何问题时,rpm指令会先询问用户;
-R:显示套件的关联性信息;
-s:显示文件状态,本参数需配合"-l"参数使用;
-U<套件档>或--upgrade<套件档>:升级指定的套件档;
-v:显示指令执行过程;
-vv:详细显示指令执行过程,便于排错。

rpm -ql 查看是否安装
[root@ecs-c13b ~]# rpm -ql tree
/usr/bin/tree
/usr/share/doc/tree-1.6.0
/usr/share/doc/tree-1.6.0/LICENSE
/usr/share/doc/tree-1.6.0/README
/usr/share/man/man1/tree.1.gz

rpm -qa 列出所有安装过的包
12. 如何实现一个脚本,检测一个程序(cassini)是否在运行,如果没有在运行就运行它, 并对每次运行的时间进行记录。(cassini 位于/opt/cassini/bin目录下,非系统服务程序)
代码语言:javascript
复制
学员版脚本:
#!/bin/bash
time=$(date +%F,%T)
cassini=/opt/cassini/bin
ps -ef | grep $cassini | grep -v grep
if [ $? -eq 0 ];then
        echo "程序已经启动,检测时间:$time"
else
        echo "程序没有在运行,下面开始启动"
        cd $cassini && ./
        echo "启动时间:$time"
fi
代码语言:javascript
复制
点评:脚本有几个地方需要完善
1. 题目要统计的不是当前时间,而是程序运行的时间或者程序开始的时间,而不是执行启动命令后,在查询出来的当前时间
[root@ecs-c13b ~]# ps -aux |grep sshd
root      9125  0.2  0.1 157748  6360 ?        Ss   17:50   0:39 sshd: root@pts/0,pts/1
root      9144  0.0  0.1 157320  5944 ?        Ss   17:50   0:00 sshd: root@notty
root      9315  0.0  0.1 112920  4312 ?        Ss   23:01   0:00 /usr/sbin/sshd -D
root     20256  0.0  0.0 112732   972 pts/0    S+   23:10   0:00 grep --color=auto sshd
[root@ecs-c13b ~]# ps -p 9125 -o etime
    ELAPSED
   05:20:58   ssh 当前运行时间为5个小时20分钟

[root@ecs-c13b ~]# ps -p 9125 -o lstart   这条命令显示的是程序开始运行时间
                 STARTED
Wed Jun 17 17:50:07 2020

2.  执行脚本写全路径:/opt/cassini/bin/cassini
3. 此脚本不能够实时监测,可以使用定时任务
13. 有如下文件:a.txt (第一列是姓名,第二列是成绩)请使用脚本计算出zhangsan的总成绩

zhangsan 15 lisi 15 zhangsan 16 lisi 17 zhangsanfeng 18

代码语言:javascript
复制
学员版脚本
[root@ecs-c13b ~]# cat a.sh 
#!/bin/bash
cj=$(cat a.txt | awk '{if ($1 == "zhangsan") {print $2}}')
sum=0
for i in $cj
do
        let sum=sum+$i
done
echo "zhangsan成绩总和:$sum"
14 SQL查询

根据下表内容用sql命令筛选出每个学生的最高成绩的结果集

姓名

成绩

编号

A

55

1

A

60

2

B

70

3

C

90

4

B

50

5

D

90

6

代码语言:javascript
复制
MariaDB [st_course]> create table student( sname varchar(20) not null, sscore tinyint(100) not null , sno int not null auto_increment primary key);

插入数据:
MariaDB [st_course]> insert into student (sname, sscore, sno) values('A',55,1);
Query OK, 1 row affected (0.00 sec)

MariaDB [st_course]> insert into student (sname, sscore, sno) values('A',60,2);
Query OK, 1 row affected (0.00 sec)

MariaDB [st_course]> insert into student (sname, sscore, sno) values('B',70,3);
Query OK, 1 row affected (0.01 sec)

MariaDB [st_course]> insert into student (sname, sscore, sno) values('C',90,4);
Query OK, 1 row affected (0.00 sec)

MariaDB [st_course]> insert into student (sname, sscore, sno) values('B',50,5);
Query OK, 1 row affected (0.00 sec)

MariaDB [st_course]> insert into student (sname, sscore, sno) values('D',90,6);
Query OK, 1 row affected (0.00 sec)

查看表内容
MariaDB [st_course]> select * from student
    -> ;
+-------+--------+-----+
| sname | sscore | sno |
+-------+--------+-----+
| A     |     55 |   1 |
| A     |     60 |   2 |
| B     |     70 |   3 |
| C     |     90 |   4 |
| B     |     50 |   5 |
| D     |     90 |   6 |
+-------+--------+-----+
6 rows in set (0.00 sec)

查询结果:
MariaDB [st_course]> select * from student where  sscore in (select max(sscore) from student group by sname);
+-------+--------+-----+
| sname | sscore | sno |
+-------+--------+-----+
| A     |     60 |   2 |
| B     |     70 |   3 |
| C     |     90 |   4 |
| D     |     90 |   6 |
+-------+--------+-----+
4 rows in set (0.00 sec)

总结:

  • 笔试题,主要考核一个面试者的基础能力,可以通过刷题来准备,需要每个学员花时间去练习。
  • 一定要认真读题目,把题目的意思读明白。
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-06-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 大数据架构师专家 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. Linux下如何使用配置文件设置网卡IP地址。
  • 3. 给出你经常用的远程访问一台Linux主机的工具和方法,如何向远程主机上传文件,如何从远程主机向本地下载文件
  • 4. 如何查看系统的如下参数:1cpu核心数,内存大小,硬盘总量 2 当前的cpu利用率,每个cpu核的利用率,当前内存使用情况, 3 指定进程的cpu利用率和内存使用量
  • 5. 查看某个目录或者文件的占用空间大小
  • 6. 强制关闭一个正在运行的程序
  • 7. iptables 阻止系统发出tcp的flag为reset的数据包
  • 8. 如何配置Linux系统的环境变量,如何配置Linux系统的用户环境变量。
  • 9. 如何更改Linux系统中文件的属性(只读,读写,可执行)
  • 10. Linux服务的关闭/启动方法,如何设置某个服务的开启自启动
  • 11. 如何查看系统中是否安装了指定的rpm包,安装 一个指定的rpm包,使用tcpdump命令,如何从网卡eth1捕获从192.168.0.1到192.168.0.2的udp包或者icmp包。
  • 12. 如何实现一个脚本,检测一个程序(cassini)是否在运行,如果没有在运行就运行它, 并对每次运行的时间进行记录。(cassini 位于/opt/cassini/bin目录下,非系统服务程序)
  • 13. 有如下文件:a.txt (第一列是姓名,第二列是成绩)请使用脚本计算出zhangsan的总成绩
  • 14 SQL查询
相关产品与服务
云数据库 MariaDB
腾讯云数据库 MariaDB(TencentDB for MariaDB) 让您轻松在云端部署、使用 MariaDB 数据库。MariaDB 是在 MySQL 版权被 Oracle 收购后,由 MySQL 创始人 Monty 创立,其版权授予了“MariaDB基金会(非营利性组织)”以保证 MariaDB 永远开源,良好的开源策略,是企业级应用的最优选择,主流开源社区系统/软件的数据库系统,均已默认配置 MariaDB。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档