很多学员去参加面试,上来就让做题, 我总结了下规律:
你期望薪资在12K以下,做笔试题的概率超级高,几乎是90%
你的期望薪资在8K以上,做笔试题的概率是100%;
你的期望薪资是15K以上,做笔试题的概率是30%;
如果你的期望薪资是20K以上,基本上不会让你做笔试题。
事实上一个刚毕业的小伙伴,笔试题能够把题目做对的概率是一个有几年工作经验的小伙伴的几倍。
每次去面试,你听到咔嚓一声,回头一个对方拿着手机,这种基本上都是培训机构的。
言归正传,说说面试中会遇到的那些高频面试题
- 创建目录/data/laoxin,并且在该目录下创建文件laoxin.txt,然后在文件“laoxin.txt”里写入内容“inet addr : 10.0.0.8 Bcast : 10.0.0.255 Mask : 255.255.255.0 ”(不包含引号)
mkdir -p /data/laoxin
echo "inet addr: 10.0.0.8 Bcast: 10.0.0.255 Mask:255.255.255.0" >> /data/laoxin/laoxin.txt
- 脚本计算1+2+3…. +100=?
[root@ecs-c13b ~]# cat sum.sh
#!/bin/bash
num=1
sum=0
while [ $num -le 100 ]
do
sum=$(expr $sum + $num)
let num++
done
echo "1+2+3+...+100"=$sum
[root@ecs-c13b ~]#
- 统计一下/var/log/nginx/access.log 日志中访问量最多的前十个IP?
方法一:
cat access_log | awk ‘{print $1}’ | uniq -c|sort -rn|head -10
方法二:
awk '{print $1}' /var/log/nginx/access.log | sort | uniq -c | sort -nr -k1 | head -n 10
- 怎么查看当前系统中每个IP的连接数:
[root@xinsz08 ~]# netstat -n|awk '/tcp/{print $5}' |awk -F: '{print $1}' |sort|uniq -c |sort -rn
5 127.0.0.1
1 8.129.111.49
1 80.82.77.139
1 47.115.7.204
1 206.189.174.24
1 192.144.233.232
1 185.60.134.135
1 167.172.43.222
1 161.35.119.243
1 111.199.191.232
1 100.100.99.23
1 100.100.30.25
[root@xinsz08 ~]#
这里的命令:
sort: 进行排序
-r: 反向排序
-n 使用纯数字进行排序
uniq: 去重
- 查看磁盘的IO
[root@xinsz08 ~]# iostat -d -k 1 10
Linux 3.10.0-862.14.4.el7.x86_64 (xinsz08) 04/29/2021 _x86_64_ (1 CPU)
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
vda 1.44 0.62 11.10 567589 10164692
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
vda 2.04 8.16 4.08 8 4
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
vda 0.00 0.00 0.00 0 0
- 写一个脚本,实现批量添加20个用户,用户名为:user1-20,密码为user后面跟着5个随机字符或数字
[root@xinsz08 ~]# cat useradd.sh
name="user"
for number in $(seq 1 20)
do
password=$(cat /dev/urandom | head -1 | md5sum | head -c 5)
useradd $name$number
echo "user$password" | passwd --stdin user$number &> /dev/null
echo "$name$number user$password" >> userinfo.txt
done
- 查看网络流量的命令
[root@xinsz08 ~]# watch -n 1 "/sbin/ifconfig ens32 |grep bytes"
- squid默认缓存的大小是多少
1024MB - 查看linux系统的配置命令
查看主板的序列号: dmidecode | grep -i ’serial number’
用硬件检测程序kuduz探测新硬件:service kudzu start ( or restart)
查看CPU信息:cat /proc/cpuinfo [dmesg | grep -i 'cpu'][dmidecode -t processor]
查看内存信息:cat /proc/meminfo [free -m][vmstat]
查看板卡信息:cat /proc/pci
查看显卡/声卡信息:lspci |grep -i ‘VGA’[dmesg | grep -i 'VGA']
查看网卡信息:dmesg | grep -i ‘eth’[cat /etc/sysconfig/hwconf | grep -
查看PCI信息:lspci (相比cat /proc/pci更直观)
查看USB设备:cat /proc/bus/usb/devices
查看键盘和鼠标:cat /proc/bus/input/devices
查看系统硬盘信息和使用情况:fdisk& disk – l &df
查看各设备的中断请求(IRQ):cat /proc/interrupts
查看系统体系结构:uname -a
查看系统版本号: [root@xinsz08 ~]# cat /etc/redhat-release
- 用shell脚本或命令将/opt目录下的大于15KB的文件都移到/tmp目录下
find /opt -size +15k -exec mv {} /tmp/ \;
- 写一个脚本查找最后创建时间是三天前,后缀是*.log的文件并删除
find .-ctime +3 -name '*.log' | rm -rf
- 使用tcpdump监听主机为192.168.1.1,tcp端口为80的数据,同时将输出结果保存输出到tcpdump.log。
tcpdump 'host 192.168.1.1 and port 80' > tcpdump.log
13.请用shell查询file1 里面空行的所在行号
awk '$0 ~ /^$/ {print NR}' file1
grep -n "^$" file1
- 查询file1 以abc结尾的行
grep "abc$" file1
或者
sed -n '/abc$/ p' file1
- 打印出file1 文件第1 到第3 行
sed -n '1,3p' file1
- 如何将本地80 端口的请求转发到8080 端口,当前主机IP 为192.168.2.1
Iptables –t nat -A PREROUTING -d 192.168.2.1 -p tcp –dport 80 -j REDIRECT --to 8080
- 在11 月份内,每天的早上6 点到12 点中,每隔2 小时执行一次/usr/bin/httpd.sh 怎么实现
6-12/2 * 11 * /usr/bin/httpd.sh
- 编写个shell 脚本将/usr/local/test 目录下大于100K 的文件转移到/tmp目录下
find /usr/local/test -type f -size +100k -exec mv {} /tmp/
-
如何查看占用端口8080 的进程
netstat -anpt | grep 8080 -
仅列出 /test目录下的所有目录,请写出完整命令
ls /test -l | grep "^d"
- umask 022 ,请描述该命令的含义
umask设置文件或目录的缺省权限,umask 022表示目录的缺省权限为755,文件的缺省权限为644
- 查询并列出 test进程所打开的当前所有文件,请写出完整的操作命令
lsof -c test
- 设置系统当前运行级别中 test服务状态为启动时自动加载,请写出完整操作命令假设运行级别为3级别
chkconfig --level 3 test on
- 你常用的Nginx模块,用来做什么
rewrite模块,实现重写功能
access模块:来源控制
ssl模块:安全加密
ngx_http_gzip_module:网络传输压缩模块
ngx_http_proxy_module 模块实现代理
ngx_http_upstream_module模块实现定义后端服务器列表
ngx_cache_purge实现缓存清除功能
- 查看http的并发请求数与其TCP连接状态
netstat -n | awk ‘/^tcp/ {++b[$NF]}’ END {for(a in b) print a,b[a]}’
26.shell下32位随机密码生成。
[root@xinsz08 ~]# cat /dev/urandom |head -1 |md5sum |head -c 32
- ps aux 中的VSZ代表什么意思,RSS代表什么意思
VSZ:虚拟内存集,进程占用的虚拟内存空间
RSS:物理内存集,进程战用实际物理内存空间
- `限制apache每秒新建连接数为1,峰值为3
ptables -A INPUT -d 172.16.100.1 -p tcp --dport 80 -m limit --limit 1/second -j ACCEPT
- 显示/etc/inittab中包含了:一个数字:(即两个冒号中间一个数字)的行
grep "\:[0-9]\{1\}:" /etc/inittab
- 写一个脚本,实现判断192.168.1.0/24网络里,当前在线的IP有哪些,能ping通则认为在线
[root@xinsz08 ~]# cat ping.sh
#!/bin/bash
for ip in `seq 1 255`
do
ping -c 1 192.168.1.$ip >/dev/null 2&>1
if [ $? -eq 0 ];then
echo $ip up
else
echo $ip down
fi
done
[root@xinsz08 ~]#
总结:
这30个题目一定要每天写一遍,直到变成下意识的反应。
思想:
很多时候你之所以不会,是因为没记住,比如ls这个命令你就可以直接用但namp就没法直接用。
能不能直接用最核心的区别就是:你有没有记住。
你觉得自己算乘法挺快的,那是因为你背过了99乘法口诀。
所以知识最终还是靠记忆的,面试题也一样。即使你是个博士要出去面试,也需要提前刷题。博士一般考算法