RHCE7.0题库和自己的操作步骤:下午

此文章是RHCE7.0考试下午考的题目,若要了解上午考的题目请看本人上篇文章

本人下午考试成绩如下图:由于本人做完题忘记重启虚拟机检查服务,导致smb、database两类题有误,其他类型题成绩都比较不错

操作计算机为:一台物理机、两台虚拟机

yum源需要自己提前配好,配置YUM源的要求在考试要求里注意看

考试题目如下:

1.配置 SELinux,SELinux 必须在两个系统 system1 和 system2 中运行于 Enforcing 模式

getenforce  查看当前模式
setenforce 1
vim /etc/selinux/config  编辑配置文件
改为SELINUX=enforcing 

2.配置 SSH 访问按以下要求配置 SSH 访问,:用户能够从域 rhce.com 内的客户端通过 SSH 远程访问您的两个虚拟机系统,在域 my133t.org 内的客户端不能访问您的两个虚拟机系统。

host rhce.com  解析域名
vim /etc/hosts.allow
sshd : 192.168.122.0/255.255.255.0

vim /etc/hosts.deny
sshd : .my133t.org

3.自定义用户环境,在系统 system1 和 system2 上创建自定义命令名为 qstat 此自定义命令将执行以下命令:
/bin/ps -Ao pid,tt,user,fname,rsz,此命令对系统中所有用户有效。

vim  /etc/bashrc
alias qstat=‘/bin/ps -Ao pid,tt,user,fname,rsz‘
source /etc/bashrc

4.配置端口转发
在系统 system1 配置端口转发, 要求如下:在 192.168.122.0/24 网络中的系统, 访问 system1 的本地端口 5423 将被转发到 80,此设置必须永久有效

man -k firewall  查看防火墙帮助手册
man firewalld.richlanguage
firewall-cmd --add-rich-rule ‘rule family="ipv4" source address="192.168.122.0/24" forward-port to-port="80" protocol="tcp" port="5423"‘
firewall-cmd --add-rich-rule ‘rule family="ipv4" source address="192.168.122.0/24" forward-port to-port="80" protocol="tcp" port="5423"‘ --permanent

5.配置聚合链路在 system1.rhce.com 和 system2.rhce.com 之间按以下要求配置一个链路:此链路使用接口 eth1 和 eth2,
此链路在一个接口失效时仍然能工作,此链路在 system1 使用下面的地址 172.16.11.25/255.255.255.0,此链路在 system2 使用下面的地址 172.16.11.35/255.255.255.0,此链路在系统重启之后依然保持正常状态

cd /usr/share/doc/teamd-1.9/
cd example_ifcfgs/1/
cp * /etc/sysconfig/network-scripts/
scp * system2:/etc/sysconfig/metwork-scripts/
cd /etc/sysconfig/network-scripts/
vim ifcfg-eth1
DEVICE="eth1"
ONBOOT="yes"

vim ifcfg-eth2
DEVICE="eth2"
ONBOOT="yes"

vim ifcfg-team_test0
ONBOOT=yes
NAME=team_test0
IPADDR=172.16.11.25
TEAM_CONFIG=‘{"runner": {"name": "activebackup"}}‘

6.配置 IPv6 地址,在您的考试系统上配置接口 eth0 使用下列 IPv6 地址:,system1 上的地址应该是 200e:ac18::e0a/64
system2 上的地址应该是 200e:ac18::e14/64,两个系统必须能与网络 200e:ac18/64 内的系统通信。,地址必须在重启后依旧生效。两个系统必须保持当前的 IPv4 地址并能通信。

nmcli connection    查看eth 对应的链接名是什么
nmcli connetcion modify eth0 ipv6.method auto
nmcli connetcion modify eth0 ipv6.addresses 200e:ac18::e0a/64
nmcli connetcion modify eth0 ipv6.methond manual
systemctl restart netwrok

7、在系统 system1 和 system2 上 配置邮件服务,满足以下要求:这些系统不接收外部发送来的邮件,在这些系统上本地发送的任何邮件都会自动路由到 rhce.com,从这些系统上发送的邮件显示来自于 rhce.com,您可以通过发送邮件到本地用户 ‘dave‘ 来测试您的配置, 系统 rhce.com 已经配置把此用户的邮件转到下列 URL http://rhce.com/received_mail/11

firewall-cmd --add-service=smtp
firewall -md --add-service=smtp --permanent
cd /etc/postfix/
vim main.cf
mydestination =    为空就是不接受外部发来的邮件
relayhost = [rhce.com]     任何邮件都会自动路由到 rhce.com
myorigin = rhce.com   设置邮件显示来自于 rhce.com
yum install malix
echo aaaaaaaaaa | mail -s ‘aaaaaaaaaaaaaaaa‘ dave    发送邮件测试

8.通过 SMB 共享目录,在 system1 上配置 SMB 服务,您的 SMB 服务器必须是 STAFF 工作组的一个成员
共享 /common 目录 共享名必须为 common,只有 rhce.com 域内的客户端可以访问 common 共享,common 必须是可以浏览的,用户 andy 必须能够读取共享中的内容,如果需要的话,验证的密码是 redhat

system1配置如下:
yum install samba -y    安装samba服务
vim /etc/samba/smb.conf   编辑samba配置文件
   workgroup = STAFF   修改工作组
   [common]            共享组名
        path =  /common       共享组目录
        hosts allow = 192.168.122.0/24  允许可以访问共享目录的网段
mkdir /common    创建共享目录
chcon -R -t samba_share_t /common/    修改目录的安全上下文
firewall-cmd --add-service=samba  允许防火墙通过所有samba服务
firewall-cmd --add-service=samba --permanent   永远允许防火墙通过所有samba服务
yum install samba-client.x86_64  -y  下载samba客户端
useradd andy    本地创建andy用户
smbpasswd -a andy   smb创建用户
redhat  设置密码
redhat  重复设置密码
systemctl restart smb  重新启动smb服务
systemctl enable smb  设置开机自启smb服务

system2配置如下:
yum install samba-client.x86_64  -y  下载samba客户端
smbclient -L //system1 -U andy%redhat   查看system1分享出来的针对用户andy的资源。

9.配置多用户 SMB 挂载,在 system1 共享通过 SMB 目录 /miscellaneous 满足以下要求:,共享名为 miscellaneous
共享目录 miscellaneous 只能被 rhce.com 域中的客户端使用,共享目录 miscellaneous 必须可以被浏览,用户 silene 必须能以读的方式访问此共享, 访问密码是 redhat,用户 akira 必须能以读写的方式访问此共享, 访问密码是 redhat,此共享永久挂载在 system2.rhce.com 上的 /mnt/multi 目录, 并使用用户 silene 作为认
证 任何用户可以通过用户 akira 来临时获取写的权限

system1配置如下:
mkdir /miscellaneous   创建目录
chcon -R -t samba_share_t /miscellaneous   修改目录的上下文
vim /etc/samba.conf       编辑samba配置文件
[miscellaneous]   共享目录名称
path = /miscellaneous     共享目录路径
hosts allow = 192.168.122.0/24   可允许访问共享目录的网段
writable = no     可允许修改目录路径
write list = akira   允许写入的用户  (默认是有读的权限)
chmod o+w /miscellaneous/    修改其他人的目录权限
useradd silene   本地创建用户
echo redaht | passwd --stdin silene   配置密码
useradd akira    本地创建用户
echo redaht | passwd --stdin akira     配置密码
smbpasswd -a silene  配置smb用户
redhat
redhat
smbpasswd -a akira配置smb用户
redhat
redhat
systemctl restart smb  重新启动smb服务
systemctl enable smb  设置开机自启

system2配置如下:
vim /etc/fstab    配置开机自动挂载
//system1/miscellaneous /mnt/multi cifs defaults,username=silene,password=redhat,multiuser,sec=ntlmssp 0 0
yum install cifs-utils.x86_64 -y
mount -a  重新挂载
useradd tom1
 ssh [email protected]
cifscreds add system1 -u silene 使用silene用户获取权限

10.配置 NFS 服务,在 system1 配置 NFS 服务,要求如下:,以只读的方式共享目录 /public 同时只能被 rhce.com 域中的系统访问,以读写的方式共享目录 /protected 能被 rhce.com 域中的系统访问,访问 /protected 需要通过 Kerberos 安全加密, 您可以使用下面 URL 提供的密钥,http://rhce.com/materials/nfs_server.keytab.,目录 /protected 应该包含名为 confidential 拥有人为 ldapuser11 的子目录,用户 ldapuser11 能以读写方式访问 /protected/confidential

mkdir /public    创建目录
systemctl start nfs-server   启动nfs服务
systemctl enable nfs-server   开启nfs开机自启
firewall-cmd --add-rich-rule ‘rule family="ipv4" source address="192.168.122.0/24" service name="nfs" accept‘    防火墙放行192.168.122.0/24网段对nfs服务的访问
firewall-cmd --add-rich-rule ‘rule family="ipv4" source address="192.168.122.0/24" service name="nfs" accept‘ --permanent   永远放行
firewall-cmd --add-rich-rule ‘rule family="ipv4" source address="192.168.122.0/24" service name="rpc-bind" accept‘    防火墙放行192.168.122.0/24网段对rpc-bind服务的访问
firewall-cmd --add-rich-rule ‘rule family="ipv4" source address="192.168.122.0/24" service name="rpc-bind" accept‘  --permanent   永远放行
firewall-cmd --add-rich-rule ‘rule family="ipv4" source address="192.168.122.0/24" service name="mountd" accept‘    防火墙放行192.168.122.0/24网段对mountd服务的访问
firewall-cmd --add-rich-rule ‘rule family="ipv4" source address="192.168.122.0/24" service name="mountd" accept‘ --permanent   永远放行
vim /etc/exports  编辑exports文件
    /public *(ro,sync)    共享目录(只读方式)
exportfs -arv   不用重启nfs服务,配置文件就会生效在客户端查看
mkdir /protected    创建目录
wget -O /etc/krb5.keytab http://rhce.com/materials/nfs_server.keytab    下载密钥
vim /etc/exports  编辑文件
    /protected      *(rw,sync,sec=krb5p)          绑定密钥
mkdir /protected/confidential   创建目录
vim /etc/sysconfig/nfs
 RPCNFSDARGS="-V 4.2"
chcon -R -t public_content_t /protected/   设置安全上下文
chown ldapuser11 /protected/confidential/    修改目录的所有者为ldapuser11
systemctl restart nfs-server    重启服务
systemctl restart nfs-secure-server  重启服务
systemctl enable nfs-secure-server

11.挂载一个 NFS 共享在 system2 上挂载一个来自 system1.rhce.com 的 NFS 共享, 并符合下列要求:
/public 挂载在下面的目录上 /mnt/nfsmount,/protected 挂载在下面的目录上 /mnt/nfssecure 并使用安全的方式,密钥下载 URL 如下: http://rhce.com/materials/nfs_client.keytab. 用户 ldapusre11 能够在 /mnt/nfssecure/confidential 上创建文件,这些文件系统在系统启动时自动挂载

showmount -e system1  查询system1能挂载 的目录
mkdir /mnt/nfsmount   创建目录
vim /etc/fstab    编辑fstab文件
system1.rhce.com:/public /mnt/nfsmount   nfs     defaults        0 0
mount -a  重新挂载
df -hT   查看是否挂载成功
mkdir /mnt/nfssecure    创建目录
wget -O /etc/krb5.keytab http://rhce.com/materials/nfs_client.keytab
客户端重启服务
systemctl restart nfs-secure
systemctl enable nfs-secure
vim /etc/fstab
system1.rhce.com:/protected /mnt/nfssecure       nfs     defaults,v4.2,sec=krb5p 0 0
mount -a  重新挂载
df -hT   查看是否挂载成功
ssh [email protected]   远程连接
cd /mnt/nfssecure/confidential
touch 1  创建文件测试

12.配置 web 站点system1 上配置一个站点 http://system1.rhce.com 然后执行下述步骤:
http://rhce.com/materials/station.html下载文件,并且将文件重命名为 index.html 不要修改此文件的内容
将文件 index.html 拷贝到您的 web 服务器的 DocumentRoot 目录下来自于 rhce.com 域的客户端可以访问此 Web 服务来自于 my133t.org 域的客户端拒绝访问此 Web 服务

yum groupinstall web* -y           安装web服务
systemctl restart httpd    重启httpd服务
systemctl enable httpd    设置开机自启
vim /etc/httpd/conf/httpd.conf     编辑http配置文件
 ServerName system1.rhce.com:80   更改服务站点
wget -O /var/www/html/index.html http://rhce.com/materials/station.html  下载station.html到/var/www/html
firewall-cmd --add-rich-rule ‘rule family="ipv4" source address="192.168.122.0/24" service name="http" accept‘   防火墙策略放行http
firewall-cmd --add-rich-rule ‘rule family="ipv4" source address="192.168.122.0/24" service name="http" accept‘ --permanent   防火墙策略永远放行http
systemctl restart httpd  重启httpd
vim /etc/hosts   编辑hosts文件
192.168.122.100 system1.rhce.com

13.配置安全 web 服务为 站 点http://system1.rhce.com 配 置 TLS 加 密一 个 已 签 名 证 书 从http://rhce.com/materials/system1.crt获 取此 证 书 的 密 钥 从http://rhce.com/materials/system1.key 获 取此 证 书 的 签 名 授 权 信 息 从http://rhce.com/materials/domain11.crt 获取

cd /etc/httpd/conf   移动到conf目录
wget http://rhce.com/materials/system1.crt   下载crt
wget http://rhce.com/materials/system1.key   下载key
wget http://rhce.com/materials/domain11.crt    下载crt
cd /etc/httpd/conf.d/   移动到conf.d目录
vim ssl.conf   编辑 ssl.com
SSLCertificateFile /etc/httpd/conf/system1.crt   修改
SSLCertificateKeyFile /etc/httpd/conf/system1.key   修改
SSLCertificateChainFile /etc/httpd/conf/domain11.crt   修改
systemctl restart httpd  重启httpd服务
firewall-cmd --add-rich-rule ‘rule family="ipv4" source address="192.168.122.0/24" service name="https" accept‘
firewall-cmd --add-rich-rule ‘rule family="ipv4" source address="192.168.122.0/24" service name="https" accept‘ --permanent

14.配置虚拟主机在 system1 上扩展您的 web 服务器,为站点 http://www..rhce.com 创建一个虚拟主机,然后
执行下述步骤:设置 DocumentRoot 为 /var/www/virtual从 http://rhce.com/materials/www.html,下载文件并重命名为 index.html 不要对文件 index.html 的内容做任何修改将文件 index.html 放到虚拟主机的 DocumentRoot 目录下
确保 andy 用户能够在 /var/www/virtual 目录下创建文件,注意:原始站点 http://system1.rhce.com 必须仍然能够访问, 名称服务器 rhce.com 提供对主机名 www.rhce.com 的域名解析

ping www.rhce.com
64 bytes from 192.168.122.100: icmp_seq=2 ttl=64 time=1.12 ms
vim /etc/hosts   编辑hosts文件
  192.168.122.100 www.rhce.com   将IP对应域名加进去
mkdir /var/www/virtual   创建目录
wget -O /var/www/virtual/index.html http://rhgls.rhce.com/materials/www.html    下载www.html到/var/www/virtual/index.html
setfacl -m u:andy:rwx /var/www/virtual/      针对andy用户对virtual目录设置可读可写可执行权限
cd /etc/httpd/conf.d/
cp /usr/share/doc/httpd-2.4.6/httpd-vhosts.comf vhost.conf
vim /vhost.conf
<VirtualHost www.rhce.com:80> 写进新的站点到虚拟主机里
    DocumentRoot /var/www/virtual
    Serv    erName www.rhce.com
</VirtualHost>
<VirtualHost system1.rhce.com:80> 将原有的站点写到虚拟主机里
        DocumentRoot /var/www/html
        ServerName system1.rhce.com
</VirtualHost>
systemcat restart httpd

15.配置 web 内容的访问在您的 system1 上的 web 服务器的 DocumentRoot 目录下 创建一个名为 secret 的目录,
要求如下:从 http://rhce.com/materials/private.html 下载一个文件副本到这个目录,并且重命名为 index.html。
不要对这个文件的内容做任何修改。从 system1 上,任何人都可以浏览 secret 的内容, 但是从其它系统不能访问这个目录的内容

mkdir /var/www/html/secret/  创建目录
mkdir /var/www/virtual/secret/   创建目录
wget -O /var/www/html/secret/index.html http://rhgls.rhce.com/materials/private.html
wget -O /var/www/virtual/secret/index.html http://rhgls.rhce.com/materials/private.html
cd /etc/httpd/conf.d/
vim vhost.conf
<Directory "/var/www/html/secret">
        ALLowOverride None
        Require local
</Directory>
<Directory "/var/www/virtual/secret">
        ALLowOverride None
        Require local
</Directory>
systemctl restart htppd      重新启动httpd服务
curl -s www.rhce.com/secret/index.html  本机验证浏览

16.实现动态 Web 内容在 system1 上配置提供动态 Web 内容,要求如下:www.rhce.com
动态内容由名为 dynamic.rhce.com 的虚拟主机提供虚拟主机侦听在端口 8998
http://rhce.com/materials/webapp.wsgi 下载一个脚本,然后放在适当的位置, 无论如何不要求修改此文件的内容
客户端访问 http://dynamic.rhce.com:8998/ 时 应该接收到动态生成的 web 页面此 http://dynamic.rhce.com:8998/ 必须能被 rhce.com 域内的所有系统访问

ping dynamic.rhce.com dynamic
firewall-cmd --add-rich-rule ‘rule family="ipv4" source address="192.168.122.0/24" port port="8998" protocol="tcp" accept‘ --permanent
vim /etc/httpd/conf/httpd.conf
Listen 8998
vim /etc/httpd/conf.d/vhosts.conf
<VirtualHost dynamic.rhce.com:8998> 写进新的站点到虚拟主机里
    DocumentRoot /var/www/html/yy
    ServerName dynamic.rhce.com
</VirtualHost>
mkdir /var/www/html/yy
yum install mod_wsgi -y
wget -p /var/www/html/yy http://rhgls.rhce.com/materials/webapp.wsgi
vim vhosts.conf
WSGIScriptAlias /  /var/www/html/yy/webapp.wsgi   添加一个
vim /etc/ssh/sshd_config   找到模板
yum install policycoreutils-python.x86_64   安装semanage 软件包
semanage port -a -t http_port_t -p tcp 8998  更改 上下文
systemctl restart httpd

17.创建一个脚本在 system1 上创建一个名为 /root/script 的脚本, 让其提供下列特性:当运行 /root/script foo,输出为 bar当运行 /root/script bar,输出为 foo,当没有任何参数或者参数不是 foo 或者 bar 时, 其错误输出产生以下的信息:
/root/script foo|bar,

vim /root/script   创建script文件
 #!/bin/bash     此脚本使用/bin/bash来解释执行,只能放到第一行,如果后面还有#!,那么只能看成是注释。(#!是一个特殊的表示符,其后,跟着解释此脚本的shell路径。)
case $1 in
foo)
echo bar
;;   结束
bar)
echo foo
;;   结束
*)
echo ‘/root/script foo|bar‘ ;;
esac

chmod +x script

18.创建一个添加用户的脚本在 system1 上创建一个脚本,名为 /root/mkusers , 此脚本能实现为系统 system1 创建本地用户, 并且这些用户 的用户名来自一个包含用户名列表的文件。同时满足下列要求:此脚本要求提供一个参数,此参数就是包含用户名列表的文件如果没有提供参数,此脚本应该给出下面的提示信息 Usage: /root/mkusers 然后退出并
返回相应的值如果提供一个不存在的文件名,此脚本应该给出下面的提示信息 Input file not found 然
后退出并返回相应的值,创建的用户登录 shell 为 /bin/false,此脚本不需要为用户设置密码
您可以从下面的 URL 获取用户名列表作为测试用 http://rhce.com/materials/userlist

vim mkusers
 #!/bin/bash
if [ $# -eq 0 ] ; then
echo "Usage: root/mkusers"
exit 1
fi
if [ ! -f $1 ] ; then
echo "Input file not found"
exit 1
fi
while read aa
do
useradd -s /bin/false $aa
done < $1

19.配置 iSCSI 服务端配置 system1 提供一个 iSCSI 服务 磁盘名为 iqn.2014-09.com.example.domain11:system1 ,
并符合下列要求:服务端口为 3260,使用 iscsi_vol 作其后端卷 其大小为 3G,此服务只能被 system2.rhce.com 访问

yum install target* -y  安装target
systemctl restart  target
systemctl enable target
fdisk /dev/vda
创建一个3g的主分区
partprobe /dev/vda
targetcli
ls /
/backstores/block create iscsi_vol /dev/vda4        创建block
ls /
/iscsi create iqn.2014-09.com.example.domain11:system1   创建target

cd /iscsi iqn.2014-09.com.example.domain11:system1/tpg1/    进入tpg1
acls/ create iqn.2014-09.com.example.domain11:xx   创建acls
ls /
luns/ create /backstores/block/iscsi_vol   创建luns
portals/ create  0.0.0.0 3260  绑定0.0.0.0可以访问
firewall-cmd --add-rich-rule ‘rule family="ipv4" source address="192.168.122.200" port port="3260" protocol="tcp" accept‘ --permanent

20.配置 iSCSI 的客户端,配置 system2 使其能连接在 system1 的上提供的 iqn.2014-09.com.example.domain11:system1,并符合以下要求:iSCSI 设备在系统启动的期间自动加载
块设备 iSCSI 上包含一个大小为 1700 MiB 的分区,并格式化为 xfs,此分区挂载在 /mnt/data 上 同时在系统启动的期间自动挂载

yum install iscsi* -y   安装iscsi
vim /etc/iscsi/initiatorname.iscsi
改为system1ACL的值
systemctl restart iscsid  重启iscid
systemctl enable iscsid  开机自启
iscsiadm -m discovery -t st -p system1.rhce.com -l      发现
lsblk
fdisk /dev/sda
创建一个大小1700M的分区
mkfs.xfs /dev/sda1
vim /etc/fstab  编辑自动挂载
/dev/sda1   /mnt/data   xfs defaults,_netdev    0 0
mkdir /mnt/data
mount -a
df -hT

21.配置一个数据库在 system1 上创建一个 MariaDB 数据库, 名为 Contacts ,并符合以下条件:
数 据 库 应 该 包 含 来 自 数 据 库 复 制 的 内 容 , 复 制 文 件 的 URL 为
http://rhce.com/materials/users.mdb 。数据库只能被 localhost 访问。
除了 root 用户, 此数据库只能被用户 Luigi 查询。 此用户密码为 redhat。
root 用户的密码为 redhat , 同时不允许空密码登录。

yum install mariadb-server -y   安装数据库
systemctl restart mariadb   启动数据库
systemctl enable mariadb  设置开机自启
mysql   进入数据库
show databases;   查询数据库
create database Contacts;    创建数据库
exit  退出
wget http://rhce.com/materials/users.mdb    下载
mysql   进入数据库
use Contacts;   登录数据库
source /root/users.mdb       导入表
show tables;     查看数据库的表
默认情况只能localhos访问
grant select on Contacts.* to [email protected]‘localhost‘ identified by ‘redhat‘;   设置Luigi用户访问数据库
set password=password(‘redaht‘);  设置密码

22.数据库查询,在系统 system1 上使用数据库 Contacts , 并使用相应的 SQL 查询以回答下列问题:
密码是 tangerine 的人的名字?有多少人的姓名是 John 同时居住在 Santa Clara?

mysql -uroot -predhat
use Contacts
show tables;
select * from name join pass where name.aid=pass.bid;考试换成英文题 会提示让填什么name
select * from name join loc where name.aid=loc.cid;
select * from name join loc where name.aid=loc.cid and firstname=‘John‘ and location=‘Santa Clara‘; 1 考试直接蒙1

原文地址:https://blog.51cto.com/13585598/2460414

时间: 2024-10-13 07:51:02

RHCE7.0题库和自己的操作步骤:下午的相关文章

本人RHCE7.0考试题和自己的操作步骤:上午

考试注意事项: 本人2019.10.14在北京通过RHCE认证考试,题库如下: 上午 RHCA 2.5h 下午 RHCE 3.5h 1.准备身*证和一支笔. 2.到达考场后找到考官等待通知 3.物理机没有root权限,只能使用普通用户 4.kvm虚拟机,所有的题目都在虚拟机里完成 注意: 上午和下午填写信息必须一致 考官让点continue,再点continue 注意将物理机的账号和密码记录在草稿纸上,物理机的账号和密码是普通用户 因为虚拟机root密码是不知道的,所以需要我们去破解root密码

Redhat RHCSA认证题库(集成操作环境,方便操作)

红帽认证 RHCSA 题库实验,只需要下载实验环境即可多次练习使用. RHCSA实验环境及配置解析地址: 点击进入下载环境 原文地址:http://blog.51cto.com/1344502/2334327

猿题库 iOS 客户端架构设计(原文地址:http://gracelancy.com/blog/2016/01/06/ape-ios-arch-design/)

猿题库 iOS 客户端架构设计 序 猿题库是一个拥有数千万用户的创业公司,从2013年题库项目起步到2015年,团队保持了极高的生产效率,使我们的产品完成了五个大版本和数十个小版本的高速迭代.在如此快速的开发过程中,如何保证代码的质量,降低后期维护的成本,以及为项目越来越快的版本迭代速度提供支持,成为了我们关注的重要问题.这篇文章将阐明我们在猿题库 iOS 客户端的架构设计. MVC MVC,Model-View-Controller,我们从这个古老而经典的设计模式入手.采用 MVC 这个架构的

[黑科技] 使用Word和Excel自制题库自判断答题系统

这篇文章是LZY老师告诉我的一个方法,如果你需要做题库,并且喜欢电子答题的方法,这篇文章或许会对你有所帮助.反正李老师班级的平均成绩高出其他班级的14分,这就是它的好处,希望这篇文章对我今后的学生有所帮助吧!        注意:这篇文章涉及到Word特殊字符.通配符.Excel设置等常见问题.如果文章存在不足或错误的地方,还请海涵~        运行结果如下图所示,正确答案第一列,模拟做题的时候学生将它藏着,然后在E列进行答题,D列是在线判断系统,反复训练从而提升学生的考试分数.哈哈~哎,确

NOI题库 1768最大子矩阵 题解

NOI题库 1768最大子矩阵  题解 总时间限制: 1000ms 内存限制: 65536kB 描述 已知矩阵的大小定义为矩阵中所有元素的和.给定一个矩阵,你的任务是找到最大的非空(大小至少是1 * 1)子矩阵. 比如,如下4 * 4的矩阵 0 -2 -7 0 9 2 -6 2 -4 1 -4 1 -1 8 0 -2 的最大子矩阵是 9 2 -4 1 -1 8 这个子矩阵的大小是15. 输入   输入是一个N * N的矩阵.输入的第一行给出N (0 < N <= 100).再后面的若干行中,依

Linux运维工程师面试-部分题库

Linux运维工程师面试-部分题库(免费分享) 一.Linux操作系统知识 1.常见的Linux发行版本都有什么?你最擅长哪一个?它的官网网站是什么?说明你擅长哪一块? 2.Linux开机启动流程详细步骤是什么?系统安装完,忘记密码如何破解? 3.企业中Linux服务器系统分区标准是什么?(硬盘为300G,内存16G) 4.某一天突然发现Linux系统文件只读,该怎么办呢?完整操作步骤. 5.安装一台系统使用DVD光盘安装,如何安装50台Linux系统如何安装呢?思考一下. 6.用虚拟机安装了一

我是如何用单机实现亿级规模题库去重的?

背景 最近工作中遇到了一个问题:如何对大规模题库去重?公司经过多年的积累,有着近亿道题目的题库,但是由于题目来源不一导致题库中有很多重复的题目,这些重复的题目在检索时,除了增加搜索引擎的计算量外,并不会提高准确率.此外由于题目过多,搜索引擎往往采取了截断策略,只对一部分题目进行计算,这导致了某些正确的题目反而得不到计算,拍搜准确率甚至不增反降.所以对于一个搜索引擎来说,虽然初期增加题目数量往往可以大幅提高拍搜准确率,但是当题目量大到一定程度时,反而会由于计算量跟不上导致准确率下降.如何尽可能的去

嵌入式题库最全的,去公司面试都会出现

现在嵌入式发展这么快,很多人开始踏上嵌入式学习之路,据市场统计,一般毕业或者找工作的一些人,在面试公司的时候,都会在这个地方卡壳,那就是面试题,很多人都是面试的很好,但是在做面试题的时候,手下的功夫不够深,最后被面试题而刷了下来,使得找工作变成了难题,空有一身的才华了,而且这也是对一些嵌入式面试的一些空难户而总结,可以学学哦,去公司面试一般都是会有的.请点击更多华清远见嵌入式题库分享大全(1)char constp char const p const char *p 上述三个有什么区别? 答案

课堂派题库格式转换程序

一.背景 这个学期开设的Java程序设计课程,需要用课堂派来签到和平常练习,老师苦于课堂派后台的课堂测试需要人工填入题目,好在课堂派运行符合格式的题目直接从word文档中导入,于是让我们来写一个小程序来实现这个格式转换.老师用的源题库是有特殊格式的,这样我们就可以通过一些特殊的标记来实现对源题库的读取,我最开始使用C++来实现的,后来补充的Java的版本.该程序主要是对string的操作,二者之中有许多相同的函数方法,但具体的写法却有所不同,同时Java的限制数组越界.不能更改String的一些