以往运维岗本人面试真题分享

                              以下是本人面试运维岗的一些面试经历,在此做个记录分享

目录

 TCP/IP三次握手

IPtables

IPtables四表五链都是什么?

nat端口如何做?

开放本机的80端口该如何做?

如何在单用户模式下引导Centos?

nginx轮询模式都有哪些?

Mysql主从同步原理

Redis的数据持久化机制是什么?

Shell脚本

单引号和双引号的区别是什么?

 $@    $*    $?   是干什么用的?

计算1+2+3+......+100的值

批量创建20个用户,并将密码设置为当前登录的用户名

 /var/log/nginx/access.log 日志访问量最多的前十个IP

Python

打开文件有几种方式,有啥区别?

列表和元组有什么不同?

pass语句有啥用?

return和print有啥区别?

安装模块用什么命令?

Docker

简述docker和虚拟机的区别

docker run -itd 和 -e 参数是什么意思?

如何将容器中的端口映射到宿主机?

如何将镜像文件保存并导入?

Dockerfile中暴漏端口的参数是什么?

Dockerfile中 COPY和ADD的区别?

K8s

K8s的核心组件都有什么?

K8s创建一个Pod的流程

k8s的控制器都有哪些,有什么区别?

Pod状态都有哪些?

Elasticsearch的分片和副本是什么?

做过系统内核调优吗?

如果需要做系统安全加固,考虑从哪些方面着手?

nginx服务器无法提供服务排查思路?

讲讲对Prometheus的认识吧

为什么先定位原因,再解决问题?


 TCP/IP三次握手

客户端想要连接服务端时,向服务端发送 SYN message。Message 还包含 sequence number(32位的随机数),ACK 为0

服务端收到客户端 synchronization request 后,回复客户端 SYN 和 ACK。ACK 数值是收到的 SYN 加一

收到服务端的 SYN 后,客户端回复 ACK,ACK 值是 SYN 值加一,建立连接

IPtables

  • IPtables四表五链都是什么?

       四表(table):raw、mangle、nat、filter

       五链(chain):PREROUTING、INPUT、FORWARD、OUTPUT、POSTROUTING

  • nat端口如何做?

       iptables -t nat -A PREROUTING -p tcp --dport 80 -d 192.168.1.1 -j DNAT --to-destination 172.23.100.100:8080

  • 开放本机的80端口该如何做?

       iptables -A INPUT -p tcp --dport 80 -j ACCEPT
 

如何在单用户模式下引导Centos?

重新启动按e编辑

进入 grub 提示符转到以 linux 开头的行尾,输入 rd.break 并回车

用rw模式挂载root文件系统,mount -o remount,rw /sysroot

然后执行 chroot /sysroot

nginx轮询模式都有哪些?

普通轮询、权重、ip_hash、第三方:响应时间,最少链接等

Mysql主从同步原理

主服务器把数据修改之后,会放入到二进制日志中(binary log)中,然后通过内部进程机制把日志传递到从服务器(从服务器在通过IO线程写入到中继日志)中并表示为中继日志(中继日志在通过sql线程传输给从服务器并执行),从而达到了主从一致
从服务器有俩个线程(I/O线程和SQL线程)I/O线程负责把主服务器上的日志拉取过来,slq线程是负责把日志执行.

核心命令例如:

    show master status;

    change master to

Redis的数据持久化机制是什么?

RDB(快照方式): RDB方式是一种快照式的持久化方法,将某一时刻的数据持久化到磁盘中。这种方式就是将内存中数据以快照的方式写入到二进制文件中 ,默认的文件名为dump.rdb。

AOF(日志追加): AOF方式是将执行过的写指令记录下来,在数据恢复时按照从前到后的顺序再将指令执行一遍。这种方式 redis 会将每一个收到的写命令都通过 write 函数追加到文件中(默认appendonly.aof)。

Shell脚本

  • 单引号和双引号的区别是什么?

       单引号定义字符串所见即所得,即将单引号内的内容原样输出

       双引号引用的内容中有命令、变量等,会先把变量、命令解析出结果,然后在输出最终内容

  •  $@    $*    $?   是干什么用的?

       $@:表示执行脚本传入参数的所有个数,将命令行的所有参数区分成各个参数

       $*:表示执行脚本传入参数的列表,将命令行的所有参数看作一个整体

       $?:表示脚本执行的状态,0表示正常,其他表示错误

  • 计算1+2+3+......+100的值
#!/bin/bashsum=0
for i in {1..100}
dosum=$((sum + i))
doneecho "1 加到 100 的和是: $sum"

  • 批量创建20个用户,并将密码设置为当前登录的用户名
#!/bin/bash# 获取当前登录用户的用户名
CURRENT_USER=$(whoami)# 循环创建20个用户,从 user1 到 user20
for i in $(seq 1 20); doUSER="user$i"# 创建用户useradd $USER# 设置用户密码为当前用户的用户名echo "$USER:$CURRENT_USER" | chpasswd# 显示创建和设置密码信息echo "User $USER created and password set to $CURRENT_USER."
done

  •  /var/log/nginx/access.log 日志访问量最多的前十个IP
awk '{print $1}' /var/log/nginx/access.log | sort | uniq -c | sort -nr | head -n 10

Python

我不是干Python开发的,所以问的都是基础,和业务逻辑没有关系

  • 打开文件有几种方式,有啥区别?

       open函数,需要使用close函数手动关闭文件

       with open as file:自动关闭文件

  • 列表和元组有什么不同?

       列表是可变的

       元组是不可变的

  • pass语句有啥用?

       没想好函数功能怎么写,但为了保证语法检查的正确必须输入一些东西,使用 pass 语句。

  • return和print有啥区别?

       return是返回计算值,return 语句可以返回任何类型的数据,包括字符串、数字、列表、字典、对象等。

       print是打印数据到屏幕。

       return返回的结果不能直接输出到控制台,需要通过print才能打印出来。

  • 安装模块用什么命令?

       pip install

Docker

  • 简述docker和虚拟机的区别

       虚拟机是一种基于硬件虚拟化的解决方案,通过在物理服务器上运行一个虚拟化层(Hypervisor),在同一物理硬件上运行多个独立的操作系统实例每个虚拟机都是一个完整的操作系统实例,包含虚拟的 CPU、内存、存储等资源。虚拟机与其他虚拟机和主机操作系统完全隔离。

       Docker 容器是一个轻量级、可移植的运行环境,它包含应用程序及其依赖的所有文件。容器之间是基于内核的 cgroups 和 namespaces 实现资源隔离、限制和命名空间相互隔离的,但共享主机的操作系统内核,隔离容器是运行在共享操作系统上的独立环境,容器内的应用与外界隔离,

  • docker run -itd 和 -e 参数是什么意思?

       -i:交互模式运行容器

       -t: --tty,为容器分配个伪终端

       -d:后台模式运行并返回容器ID

       -e:环境变量

  • 如何将容器中的端口映射到宿主机?

       docker run -itd -p 8080:80 nginx /bin/bash

  • 如何将镜像文件保存并导入?

       docker save -o nginx.tar nginx:latest

       docker load -i nginx.tar

  • Dockerfile中暴漏端口的参数是什么?

       EXPOSE

  • Dockerfile中 COPY和ADD的区别?

       COPY:纯粹地将从构建上下文(即执行 docker build 命令时指定的目录及其子目录)中的文件或目录复制到镜像中指定的路径

       ADD:除了COPY的基本功能以外,还支持 解压归档文件: ADD 指令如果遇到压缩文件(如 .tar, .tar.gz, .zip 等),会自动解压这些文件到目标路径;从 URL 下载文件: ADD 还支持从URL来源复制文件,这意味着可以直接从互联网上下载文件并将其添加到镜像中。

K8s

  • K8s的核心组件都有什么?

       master上是kube-controller-manager、kube-apiserver、kube-scheduler、etcd

       worker上是kubelet、kube-proxy

  • K8s创建一个Pod的流程

       客户端提交Pod的配置信息到kube-apiserver。

       Apiserver收到指令后,通知给controller-manager创建一个资源对象。

       Controller-manager通过api-server将pod的配置信息存储到etcd数据中心中。

       Kube-scheduler检测到pod信息会开始调度预选适合运行pod的节点,然后将pod的资源配置单发送到node节点上的kubelet

       Kubelet根据scheduler发来的资源配置单运行pod,运行成功后,将pod的运行信息返回给scheduler,scheduler将返回的pod运行状况的信息存储到etcd数据中心。

  • k8s的控制器都有哪些,有什么区别?

       Deployment、Statefulset、DaemonSet 

       Deployment用于部署无状态服务,例如 Web 服务器、API 服务、负载均衡器等,这些服务可以水平扩展处理更多的请求流量

       Statefulset用于部署有状态服务,例如数据库系统(如 MySQL、PostgreSQL)、消息队列(如 RabbitMQ、Kafka)等,这些服务需要持久性存储和网络标识的稳定性。

       Damonset可以理解为是节点守护进程,每个node都必须有并且只有一个。常见的比如日志采集、守护进程等.

  • Pod状态都有哪些?

       Running:运行中,pod已经分配到节点上且pod内容器正常运行。

       Pending:挂载状态,pod已经创建好了但是没被分配到节点上。(出现此问题原因很多:资源不足、网络原因、端口被占用等等)

       Failed:失败,容器内的返回码是非零状态退出,进入失败状态。(logs -f查看pod日志及desceibe pod查看pod详细情况也可以排查其错误原因。)

       Terminating(终止):pod正在删除中。

       Unknow(未知):一般是集群出现问题;api出现问题;或者是api和调度器之间通信有问题;证书过期

       imagePullBackOff:拉取镜像失败

       CrashLoopBackOff:容器已经启动但是异常退出了,查看日志或者pod详细情况查找问题。

       error:pod启动过程中报错,可日志查看原因

       Podlniitializing:初始化中(pod中有初始化init容器)

       Evict:pod被驱逐

Elasticsearch的分片和副本是什么?

分片Shards

一个索引可以存储超出单个节点硬件限制的大量数据。比如,一个具有 10 亿文档数据 的索引占据 1TB 的磁盘空间,而任一节点都可能没有这样大的磁盘空间。 或者单个节点处理搜索请求,响应太慢。为了解决这个问题,Elasticsearch 提供了将索引划分成多份的能力,每一份就称之为分片。当你创建一个索引的时候,你可以指定你想要的分片的数量。每个分片本身也是一个功能完善并且独立的“索引”,这个“索引”可以被放置到集群中的任何节点上。

副本Replicas
在一个网络 / 云的环境里,失败随时都可能发生,在某个分片/节点不知怎么的就处于 离线状态,或者由于任何原因消失了,这种情况下,有一个故障转移机制是非常有用并且是强烈推荐的。为此目的, Elasticsearch 允许你创建分片的一份或多份拷贝,这些拷贝叫做复制分片(副本)。

默认情况下,Elasticsearch 中的每个索引被分片 1 个主分片和 1 个复制,这意味着,如果你的集群中至少有两个节点,你的索引将会有 1 个主分片和另外 1 个复制分片(1 个完全拷贝)

做过系统内核调优吗?

配置文件   /etc/sysctl.conf#关ipv6
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1#避免放大攻击
net.ipv4.icmp_echo_ignore_broadcasts = 1#开启恶意的icmp错误消息保护
net.ipv4.icmp_ignore_bogus_error_responses = 1#关闭路由转发
net.ipv4.ip_forward = 0
net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.default.send_redirects = 0#开启反向路径过滤
net.ipv4.conf.all.rp_filter = 1
net.ipv4.conf.default.rp_filter = 1#处理无源路由的包
net.ipv4.conf.all.accept_source_route = 0
net.ipv4.conf.default.accept_source_route = 0#关sysrq功能
kernel.sysrq = 0#core文件名添加pid作为扩展名
kernel.core_uses_pid = 1#开SYN洪水攻击保护
net.ipv4.tcp_syncookies = 1#修改消息队列长度
kernel.msgmnb = 65536
kernel.msgmax = 65536#设置最大内存共享段大小bytes
kernel.shmmax = 68719476736
kernel.shmall = 4294967296#timewait的数量默认为180000
net.ipv4.tcp_max_tw_buckets = 6000
net.ipv4.tcp_sack = 1
net.ipv4.tcp_window_scaling = 1
net.ipv4.tcp_rmem = 4096 87380 4194304
net.ipv4.tcp_wmem = 4096 16384 4194304
net.core.wmem_default = 8388608
net.core.rmem_default = 8388608
net.core.rmem_max = 16777216
net.core.wmem_max = 16777216#每个网络接口接收数据包速率比内核处理这些包的速率快时允许送到队列数据包的最大数目
net.core.netdev_max_backlog = 262144#限制仅仅是为防止简单的DoS攻击
net.ipv4.tcp_max_orphans = 3276800#未收到客户端确认信息的连接请求最大值
net.ipv4.tcp_max_syn_backlog = 262144
net.ipv4.tcp_timestamps = 0#内核放弃建立连接之前发送SYNACK包数量
net.ipv4.tcp_synack_retries = 1#内核放弃建立连接之前发送SYN包数量
net.ipv4.tcp_syn_retries = 1#开timewait快速回收
net.ipv4.tcp_tw_recycle = 1#允许将TIME-WAIT sockets重新用于新TCP连接
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_mem = 94500000 915000000 927000000
net.ipv4.tcp_fin_timeout = 1#当keepalive起用的时候TCP发送keepalive消息的频度缺省是2小时
net.ipv4.tcp_keepalive_time = 30#允许系统打开端口范围
net.ipv4.ip_local_port_range = 1024 65000#修改防火墙的表大小默认65536
#net.netfilter.nf_conntrack_max = 655350
#net.netfilter.nf_conntrack_tcp_timeout_established = 1200#确保无人能修改路由表
net.ipv4.conf.all.accept_redirects = 0
net.ipv4.conf.default.accept_redirects = 0
net.ipv4.conf.all.secure_redirects = 0
net.ipv4.conf.default.secure_redirects = 0

如果需要做系统安全加固,考虑从哪些方面着手?

使用iptabls或firewalld关闭不必要的端口

用户方面设置复杂密码,配置锁定策略

ssh远程不允许root登录

关键文件例如配置文件、密码文件等上锁

设置histpory记录时间戳

定期检查并应用系统和应用程序的安全更新补丁

nginx服务器无法提供服务排查思路?

top、free、df命令分析资源使用率

ps看进程存活

netstat看端口监听

curl、telnet命令测试端口及页面返回内容

systemctl status 和 journarctl -u <server.name> 查看服务运行状态及服务相关日志

分析相关服务的log日志

讲讲对Prometheus的认识吧

Prometheus(由go语言开发)是一套开源的监控&报警&时间序列(按照时间排序)数据库的组合。因为kubernetes(俗称k8s)的流行带动了prometheus的发展。它可以监控主机,服务,容器,支持多种exporter采集数据,还支持pushgateway进行数据上报,Prometheus性能足够支撑上万台规模的集群。

其主要特征包含:

多维度数据模型,可以通过多个维度对数据建模,也可以通过多个维度对数据进行查询

灵活的查询语言,提供灵活的PromQL查询方式,还提供了HTTP查询接口,可以很方便地结合Grafana等组件展示数据

不依赖分布式存储,支持单节点的本地存储。通过Prometheus自带的时序数据库,可以完成每秒百万及的数据存储,如果需要存储大量历史数据,还可以对接第三方的时序数据库

以HTTP方式,通过pull模型拉取时间序列数据,并提供了开放的指标数据标准

也可以通过中间网关支持push模型
这种推,拉监控其实就是主动和被动监控,默认情况下是以pull(拉)的方式,也就是监控主机去找被监控主机将数据要过来,如果要实现push(推)的方式需要中间网关的支持,这只是与zabbix的叫法不同而已

通过服务发现或者静态配置来发现目标服务对象

支持多种多样的图表和界面展示,可以使用第三方的工具来展示内容,如Grafana

基本上说说特点以及如何对接监控指标即可

为什么先定位原因,再解决问题?

主观上来说搞清楚问题故障的因果关系,可以提高解决效率,避免不必要的操作。

客观上来说定位原因一方面是确认故障的产生原因,防止后续重复发生,另一方面是可以通过不断积累改善优化系统。

暂时就记着这些,后续想起来了再补充

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/470303.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Hadoop实训】Hive 数据操作①

目录 一、准备文件 1、创建表 2、 数据映射 二、HIVE的数据操作 1、基本查询 a、全表查询 b、选择特定字段查询 c、查询员工表总人数 d、查询员工表总工资额 e、查询5条员工表的信息 2、Where条件查询 a、查询工资等于5000的所有员工 b、查询工资在500到1000的员工信息 …

3.5【数据库系统】ER图

2、实体之间的关系 下面主要针对两个实体间的关系进行介绍 &#xff08;a&#xff09;一对一联系&#xff08;1:1&#xff09;如班级和班长&#xff0c;一个班级只有一个班长&#xff0c;一个班长只能在一个班级任职。 &#xff08;b&#xff09;一对多联系&#xff08;1&#…

笔记 | image may have poor performance,or fail,if run via emulation

在Docker Desktop中现象如图&#xff1a; 当你运行 AMD64 平台代码时&#xff08;Intel 和 AMD 芯&#xff09;&#xff0c;你的 Mac 必须模拟其CPU架构&#xff08;因为你自身是ARM&#xff09;。这通常会非常吃性能。 Docker Desktop 警告你在模拟 Intel/AMD x64 CPU 时性能可…

想租用显卡训练自己的网络?AutoDL保姆级使用教程(PyCharm版)

各位小伙伴们大家好~ 不知道各位同学在科研过程中是否有这样的苦恼 电脑无显卡。难不成我要用CPU跑实验吗&#xff1f;救救我吧电脑显卡算力太低。训练过程慢慢慢慢慢&#xff0c;等半天都出不来结果电脑显卡显存不够&#xff0c;batchsize稍微高一点点&#xff0c;就要爆显存…

Linux相关习题-gcc-gdb-冯诺依曼

1.将一个test.c文件仅仅进行汇编而不生成可执行程序的命令是&#xff1f; A.gcc -S test.c B.gcc -E test.c C.gcc -c test.c D.gcc test.c gcc常见选项&#xff1a; -c 汇编完成后停止&#xff0c;不进行链接 -E 预处理完成后停止&#xff0c;不进行编译 -S 编译完成后停止…

计算机毕业设计必看必学35755flask旅游景区热度可视化平台原创定制程序,java、PHP、python、小程序、文案全套、毕设成品等

flask旅游景点热度可视化平台 摘 要 信息化社会内需要与之针对性的信息获取途径&#xff0c;但是途径的扩展基本上为人们所努力的方向&#xff0c;由于站在的角度存在偏差&#xff0c;人们经常能够获得不同类型信息&#xff0c;这也是技术最为难以攻克的课题。针对旅游景点热度…

Hadoop(环境搭建篇)

这里我用的是ubnatu22.4的系统&#xff0c;请大家严格按照这个系统来安装 一、网络设置 1、打开虚拟机的编辑&#xff0c;并选择虚拟网络编辑器 2、点击更改设置 3、更改IP 二、更改主机名 1、打开终端 2、输入以下命令 hostnamectl set-hostname master 3、然后关闭终端在…

Java 堆内存管理详解:`-Xms` 和 `-Xmx` 参数的使用与默认内存设置

个人名片 &#x1f393;作者简介&#xff1a;java领域优质创作者 &#x1f310;个人主页&#xff1a;码农阿豪 &#x1f4de;工作室&#xff1a;新空间代码工作室&#xff08;提供各种软件服务&#xff09; &#x1f48c;个人邮箱&#xff1a;[2435024119qq.com] &#x1f4f1…

Linux探秘坊-------1.系统核心的低语:基础指令的奥秘解析(1)

1.Linux的背景介绍 Linux 操作系统的发展历程充满了激情与创新喵&#xff5e;&#x1f380; 萌芽期 (1983 - 1991)&#xff1a;Linux 的历史可追溯到 1983 年&#xff0c;理查德斯托曼 (Richard Stallman) 发起 GNU 计划&#xff0c;目标是创建一个自由软件操作系统。1987 年发…

AI写作(二)NLP:开启自然语言处理的奇妙之旅(2/10)

一、NLP 的基本概念与任务 &#xff08;一&#xff09;自然语言处理的研究对象 自然语言处理&#xff08;NLP&#xff09;处于计算机科学、人工智能和语言学的交叉领域。它所聚焦的人类社会语言信息是无比丰富和复杂的&#xff0c;包括口语、书面语等各种形式。这种语言信息在…

使用CubeMX一键配置Freertos

一、配置参数 1.1 API信息 1.2 版本信息 版本信息 FreeRTOS版本为10.3.1 CMSIS-RTOS 版本为2.00 如果我们不用CubeMX配置的话 还是推荐移植正点原子的&#xff0c;因为它的裁剪头文件比较清晰 就是那个conf的头文件&#xff0c;一键配置的话很方便。可能会跟原版移植的Freert…

如何提高自动驾驶中惯性和卫星组合导航pbox的精度?

Mems纯惯导里程推算精度做到千分之一&#xff0c;两分钟航向精度保持0.001弧度&#xff0c;是如何做到的&#xff1f; 【飞迪sigma车规高精度组合导航系统在3.6km长隧道下穿测试&#xff0c;135s纯惯导航向保持精度小于0.06度&#xff0c;隧道内转弯轨迹和直线航位推算重合#智能…

10款PDF翻译工具的探索之旅:我的使用经历与工具特色!!

在如今的时代&#xff0c;PDF文件已经成为我们工作、学习和生活中不可或缺的一部分。但是&#xff0c;当遇到一些非母语或陌生语言的PDF文档时&#xff0c;这要怎么办呀&#xff01;这时候翻译工具就显得尤为重要了。这也是我所遇到过的难题&#xff0c;现在我将与大家分享几款…

MySQL_第13章_视图

1. 常见的数据库对象 2. 视图概述 2.1 为什么使用视图&#xff1f; 视图一方面可以使用表的一部分而不是所有的表&#xff0c;另一方面也可以针对不同的用户制定不同的查询视图。 2.2 视图的理解 视图是一种虚拟表&#xff0c;本身是不具有数据的&#xff0c;占用很少的内存…

【测试框架篇】单元测试框架pytest(1):环境安装和配置

一、pytest简介 Pytest是Python的一种单元测试框架&#xff0c;与Python自带的unittest测试框架类似&#xff0c;但是比 unittest框架使用起来更简洁&#xff0c;效率更高。 二、pytest特点 Pytest是一个非常成熟的Python测试框架,主要特点有以下几点&#xff1a; 非常容易…

Camera Tuning中AE/AWB/AF基础知识介绍

3A定义 3A是Camera ISP控制算法的一个重要组成部分&#xff0c;通常分为自动曝光&#xff08;AE&#xff09;、自动聚焦&#xff08;AF&#xff09;、自动白平衡&#xff08;AWB&#xff09;三个组件。 自动曝光&#xff08;Auto Exposure&#xff09; AE基本概念 曝光概念…

group_concat配置影响程序出bug

在 ThinkPHP 5 中&#xff0c;想要临时修改 MySQL 数据库的 group_concat_max_len 参数&#xff0c;可以使用 原生 SQL 执行 来修改该值。你可以通过 Db 类来执行 SQL 语句&#xff0c;从而修改会话&#xff08;Session&#xff09;级别的变量。 步骤 设置 group_concat_max_l…

linux 下查看程序启动的目录

以azkaban为例 第一步、ps -ef | grep azkaban 查询出进程号 第二步、cd /proc/ 第三步 、cd 进程号 第四部 ll 查看详情 查看jar 位置 查看jar 启动命令

Linux设置Nginx开机启动

操作系统环境&#xff1a;CentOS 7 【需要 root 权限&#xff0c;使用 root 用户进行操作】 原理&#xff1a;利用 systemctl 管理服务 设置 Nginx 开机启动 需要 root 权限&#xff0c;普通用户使用 sudo 进行命令操作 原理&#xff1a;利用 systemctl 管理服务 1、新建…

红帽认证和华为认证哪个好?看完这4点你就明白了

就算在一堆的认证里面&#xff0c;华为和红帽也因为它们特别权威、含金量特别高而显得特别突出&#xff0c;简直就是行业里的榜样。只要拿到了其中随便哪一个证书&#xff0c;就说明证书持有者的网络技术很厉害&#xff0c;找工作的时候常常能给自己加点分。 不过好多人都不太…