clinux面试
㈠ linux C语言,有哪些重难点希望得到补充,下面是我自己工作中遇到的自己整理出来的,希望能够得到补充。
这些都是基本的,真正的工作是程序的设计。比如你要写一篇文章,你这些都只是文字,词语。
面试官要了解的是你做过哪些。比如你用socket 做了一个登录程序,那这个程序的流程是如何的?有哪些改进,比如断线重连,又比如心跳机制等等。
如果你没有做过这些,那你顶多就是学校刚出来的,我会放心把重要的岗位给你做吗?
比如当下最流行的 视频直播程序。
其实就涉及到了你的这些基本元素,但是你会做吗?
就好像一个普通的厨师和顶级厨师,所用的材料都差不多,但做出来的就是天差之别。
Linux c是最基层的,还有很多标准库和各种非标的库是运用。
㈡ linuxc闱㈣瘯棰樼洰鍙婄瓟妗坙inuxc闱㈣瘯棰
宓屽叆寮忛溃璇曡瘝姹囷纻
宓屽叆寮忚蒋浠跺伐绋嫔笀闱㈣瘯棰樼洰鏁寸悊锛堜簩锛
linux涓鍐呮牳绌洪棿鍙婄敤鎴风┖闂寸殑鍖哄埆锛熺敤鎴风┖闂翠笌鍐呮牳阃氢俊鏂瑰纺链夊摢浜涳纻
瀛楃﹁惧囧拰鍧楄惧囩殑鍖哄埆锛岃峰垎鍒鍒椾妇涓浜涘疄闄呯殑璁惧囱村嚭瀹冧滑鏄灞炰簬鍝涓绫昏惧
linux涓绯荤粺璋幂敤杩囩▼锛熷:搴旂敤绋嫔簭涓璻ead()鍦╨inux涓镓ц岃繃绋嫔嵆浠庣敤鎴风┖闂村埌鍐呮牳绌洪棿锛
镆ョ湅椹卞姩妯″潡涓镓揿嵃淇℃伅搴旇ヤ娇鐢ㄤ粈涔埚懡浠わ纻濡备綍镆ョ湅鍐呮牳涓宸叉湁镄勫瓧绗﹁惧囩殑淇℃伅锛熷备綍镆ョ湅姝e湪浣跨敤镄勬湁鍝浜涗腑鏂鍙凤纻
_to_user()鍜宑opy_from_user()涓昏佺敤浜庡疄鐜颁粈涔埚姛鑳斤纻涓鑸鐢ㄤ簬file_operations缁撴瀯镄勫摢浜涘嚱鏁伴噷闱锛
璇风亩杩颁富璁惧囧彿鍜屾¤惧囧彿镄勭敤阃斻傚傛灉镓ц宫knodchartestc464锛屽垱寤篶hartest璁惧囥傝峰垎鏋恈hartest浣跨敤镄勬槸闾d竴绫昏惧囬┍锷ㄧ▼搴忋
璁惧囬┍锷ㄧ▼搴忎腑濡备綍娉ㄥ唽涓涓瀛楃﹁惧囷纻鍒嗗埆瑙i喷涓涓嫔畠镄勫嚑涓鍙傛暟镄勫惈涔夈
瀛楃﹀瀷椹卞姩璁惧囨庝箞鍒涘缓璁惧囨枃浠?
insmod涓涓椹卞姩妯″潡锛屼细镓ц屾ā鍧椾腑镄勫摢涓鍑芥暟锛焤mmod锻锛熻繖涓や釜鍑芥暟鍦ㄨ捐′笂瑕佹敞镒忓摢浜涳纻阆囧埌杩囧嵏杞介┍锷ㄥ嚭鐜板纾甯告病锛熸槸浠涔堥梾棰桦紩璧风殑锛
璁惧囬┍锷ㄦā鍨嬩笁涓閲嶈佹垚锻樻槸锛焢latform镐荤嚎镄勫尮閰嶈勫垯鏄锛熷湪鍏蜂綋搴旂敤涓婅佷笉瑕佸厛娉ㄥ唽椹卞姩鍐嶆敞鍐岃惧囷纻链夊厛钖庨‘搴忔病锛
鍐呮牳鍑芥暟mmap镄勫疄鐜板师鐞嗭纴链哄埗锛
鐢宠峰唴瀛樼殑鏂瑰纺
IIC铡熺悊锛屾荤嚎妗嗘灦锛岃惧囩紪鍐欐柟娉
Linux涓镄勭敤鎴锋ā寮忓拰鍐呮牳妯″纺鏄浠涔埚惈镒
镐庢牱鐢宠峰ぇ鍧楀唴镙稿唴瀛桡纻
鐢ㄦ埛杩涚▼闂撮氢俊涓昏佸摢鍑犵嶆柟寮
鍐呮牳閰岖疆缂栬疟鍙奙akefile?
璋堣皥瀵筕olatile鍏抽敭瀛楃殑鐞呜В
framebuffer链哄埗
spinlock涓庝俊鍙烽噺镄勫尯鍒
linux涓镄勫悓姝ユ満鍒
镊镞嬮挛鍜屼俊鍙烽噺鍦ㄤ簰鏂ヤ娇鐢ㄦ椂闇瑕佹敞镒忓摢浜涳纻鍦ㄤ腑鏂链嶅姟绋嫔簭閲岄溃镄勪簰鏂ユ槸浣跨敤镊镞嬮挛杩樻槸淇″彿閲忥纻杩樻槸涓よ呴兘鑳界敤锛熶负浠涔堬纻
椹卞姩閲岄溃涓轰粈涔堣佹湁骞跺彂銆佷簰鏂ョ殑鎺у埗锛熷备綍瀹炵幇锛熻蹭釜渚嫔瓙锛
linux涓鏂瀹炵幇链哄埗銆乼asklet鍜寃orkqueue镄勫尯鍒鍜屽簳灞傚疄鐜扮殑鍖哄埆锛屼负浠涔堣佸尯鍒嗕腑鏂涓婂崐閮ㄥ拰涓鏂涓嫔崐閮
涓鏂鍜岃疆璇㈠摢涓鏁堢巼楂桡纻镐庢牱鍐冲畾鏄閲囩敤涓鏂鏂瑰纺杩樻槸閲囩敤杞璇㈡柟寮忓幓瀹炵幇椹卞姩锛
鍐欎竴涓涓鏂链嶅姟闇瑕佹敞镒忓摢浜涳纻濡傛灉涓鏂浜х敓涔嫔悗瑕佸仛姣旇缉澶氱殑浜嬫儏浣犳槸镐庝箞锅氱殑锛
IRQ鍜孎IQ链変粈涔埚尯鍒锛屽湪CPU閲岄溃鏄鏄镐庝箞锅氱殑锛
Linux杞涓鏂鍜屽伐浣滈槦鍒楃殑浣灭敤鏄浠涔
闱㈣瘯镞堕梾浜呜Вlinux绯荤粺钖楁庝箞锛
濡傛灉闱炲父镡熸倝锛岄偅灏辩洿鎺ヨ〃鏄庯纴骞跺𪾢鍑鸿嚜宸变互鍓岖殑涓浜涗綔鍝侊纴瀵逛簬涓浜涘父鐢ㄧ殑锻戒护閮藉彲浠ヨ蹭竴涓嬨
濡傛灉涓岖啛鎭夛纴灏辫存湁鎺ヨЕ锛屼絾鏄鍒氩叆闂锛屼箣钖庝细镊瀛︼纴涓嶈借宸ヤ綔銆
濡傛灉镊宸变粠𨱒ユ病链夋帴瑙﹁繃锛屽氨鐩存帴璇存槑镊宸辨病链夋帴瑙﹁繃linux锛岃呖浜庢槸钖﹀綍鐢锛岄溃璇曞畼镊宸变细鍒ゆ柇銆
㈢ Linux运维工程师会面试哪些
知识上面的答主说的很精准了,我来说说技巧。我本身是一名HR,负责新盟教育的Linux讲师招聘,所以我需要懂Linux基础知识,方便对面试者提问。
首先,我会就应聘者简历上填写的内容进行,提问,一般会包括拿到的证书,有无经验,熟悉的技能,然后我的同事会提问专业内容。比如你写了擅长MySQL ,Jquery,bootstrap,那么我们就会提问这些内容,当然都不会特别困难,只需要证明你确实知道,不是在吹嘘就行。
其次我们会就岗位需求进行提问,我会问到加班,出差,经验等问题,我的同事会问会不会某些特定要求的内容,比如zabbix、nagios、elk等……
如果不会,请千万不要吹牛,我们会问到说明我们肯定知道这玩意,如果吹牛肯定一眼就看出来,然后三两句话把你送走这样。
如果你一面过了,要准备二面,那么请你至少,在二面之前,把我们提到的岗位要求的内容了解一下,避免我们再次提到的时候还是不知道,这样很影响面试结果。
㈣ 在Linux下用C语言编程
4。守护进程的创建
如果你在DOS时代编写过程序,那么你也许知道在DOS下为了编写一个常驻内存的程序我们要编写多少代码了.相反如果在Linux下编写一个"常驻内存"的程序却是很容易的.我们只要几行代码就可以做到. 实际上由于Linux是多任务操作系统,我们就是不编写代码也可以把一个程序放到后台去执行的.我们只要在命令后面加上&符号SHELL就会把我们的程序放到后台去运行的. 这里我们"开发"一个后台检查邮件的程序.这个程序每个一个指定的时间回去检查我们的邮箱,如果发现我们有邮件了,会不断的报警(通过机箱上的小喇叭来发出声音). 后面有这个函数的加强版本加强版本
后台进程的创建思想: 首先父进程创建一个子进程.然后子进程杀死父进程(是不是很无情?). 信号处理所有的工作由子进程来处理.
#include
#include
#include
#include
#include
#include
#include
/* Linux 的默任个人的邮箱地址是 /var/spool/mail/用户的登录名 */
#define MAIL "/var/spool/mail/hoyt"
/* 睡眠10秒钟 */
#define SLEEP_TIME 10
main(void)
{
pid_t child;
if((child=fork())==-1)
{
printf("Fork Error:%s\n",strerror(errno));
exit(1);
}
else if(child>0)
while(1);
if(kill(getppid(),SIGTERM)==-1)
{
printf("Kill Parent Error:%s\n",strerror(errno));
exit(1);
}
{
int mailfd;
while(1)
{
if((mailfd=open(MAIL,O_RDONLY))!=-1)
{
fprintf(stderr,"%s","\007");
close(mailfd);
}
sleep(SLEEP_TIME);
}
}
}
你可以在默认的路径下创建你的邮箱文件,然后测试一下这个程序.当然这个程序还有很多地方要改善的.我们后面会对这个小程序改善的,再看我的改善之前你可以尝试自己改善一下.比如让用户指定邮相的路径和睡眠时间等等.相信自己可以做到的.动手吧,勇敢的探险者.
好了进程一节的内容我们就先学到这里了.进程是一个非常重要的概念,许多的程序都会用子进程.创建一个子进程是每一个程序员的基本要求!
㈤ linux认证面试题及答案(5)
0 1 * * * /bin/sh /usr/bin/fileback
7.有一普通用户想在每周日凌晨零点零分定期备份/user/backup到/tmp目录下,该用户应如何做?
参考答案:(1)第一种方法:
用户应使用crontab –e 命令创建crontab文件。格式如下:
0 0 * * sun cp –r /user/backup /tmp
(2)第二种方法:
用户先在自己目录下新建文件file,文件内容如下:
0 * * sun cp –r /user/backup /tmp
然后执行 crontab file 使生效。
8.设计一个Shell程序,在/userdata目录下建立50个目录,即user1~user50,并设置每个目录的权限,其中其他用户的权限为:读;文件所有者的权限
为:读、写、执行;文件所有者所在组的权限为:读、执行。
参考答案: 建立程序 Pro16如下:
#!/bin/sh
i=1
while [ i -le 50 ]
do
if [ -d /userdata ];then
mkdir -p /userdata/user$i
chmod 754 /userdata/user$i
echo "user$i"
let "i = i + 1" (或租仔茄i=$(($i+1))
else
mkdir /userdata
mkdir -p /userdata/user$i
chmod 754 /userdata/user$i
echo "user$i"
let "i = i + 1" (或i=$(($i+1))
fi
done
五、多选题
1.关于硬链接的描述正确的(BE)。
A 跨文件系统 B不可以跨文件系统 D可以做目录的连接
C 为链接文件创建新的i节点 E链接文件的i节点同被链接文件的i节点
2.在网站发布用户wang的个人网页时,需要创建用户网页目录,假定用户网页目录设定为web
(用户戚锋目录在/home目录下),如下描述正确的是(BCE)
A 存放用户网页的绝对路径/wang/web B存放用户网页的目录~wang/
C 存放用户网页的绝对路径/home/wang/web D存放用户网页的绝对路径/home/web
E 在本机访问用户wang的个人网页的URL地址http://localhost/~wang/
3.在一台WWW服务器上将端弊察口号设定为8000,默认的网页文件index.html,服务器网页的根目录/www。在本机访问服务器时,正确的用法是(BDE)
A 浏览器访问该服务器的URL地址http://localhost/
B 浏览器访问该服务器的URL地址http://localhost:8000/
C 浏览器访问该服务器的用户li网页URL地址http://localhost/~li
D 浏览器访问该服务器的用户li网页URL地址http://localhost:8000/~li
E 浏览器访问该服务器的URL地址localhost:8000/
4.在shell编程中关于$2的描述正确的是(CE)
A 程序后携带了两个位置参数 B 宏替换 C 程序后面携带的第二个位置参数
D 携带位置参数的个数 E 用$2引用第二个位置参数
5.某文件的权限是 - r w x r - - r- -,下面描述正确的是(CD)
A 文件的权限值是755 B 文件的所有者对文件只有读权 限
C 文件的权限值是 744 D 其他用户对文件只有读权限 E同组用户对文件只有写权限
6.关于OpenSSH的作用的描述正确的是(ACE)
A 开放源代码的安全加密程序 B OpenSSH常用于为http协议加密
C OpenSSH用于提高远程登录访问的安全性 D 它和telnet实用同样的端口号
E OpenSSH是免费下载的应程序
7.关于NFS服务器描述正确的是(BC)
A 网络中实现Windows系统之间文件系统共享的应用软件
B 网络中实现Linux系统之间文件系统共享的应用软件
C 网络中实现Unix系统之间文件系统共享的应用软件
D 网络中实现Windows系统和Unix之间文件系统共享的应用软件
E 网络中实现Windows系统和Linux之间文件系统共享的应用软件
8.关于sed描述正确的是(ABD)
A sed 是Linux系统中的流编辑器 B sed 是UNIX系统中的流编辑器
C sed 网络文件系统的类型
D 利用管道对标准输入/标准输入的数据进行编辑和组合
E sed是NFS的应用程序
9.关于限制磁盘限额,描述正确的是(ABD)
A 使用edquota可以监控系统所有用户使用的磁盘空间,并在接近极限时提示用户
B 用户组的磁盘限额是用户组内所有用户予设磁盘空间总和
C 单个用户的磁盘限额就是该用户所在用户组内所有磁盘限额的总合
D 在Linux系统下限制用户使用的磁盘空间可以使用edquota
E 用户组的磁盘限额就是该用户组内拥有最大磁盘限额值的用户的磁盘限额
10.关于建立系统用户的正确描述是(ABD)
A 在Linux系统下建立用户使用adser命令
B 每个系统用户分别在/etc/passwd和/etc/shadow文件中有一条记录
C 访问每个用户的工作目录使用命令“cd /用户名”
D 每个系统用户在默认状态下的工作目录在/home/用户名
E 每个系统用户在/etc/fstab文件中有一条记录
㈥ 嵌入式Linux中关于c面试题
2.某32位系统下, C++程序,请计算sizeof 的值(5分).char str[] = “ http://www.ibegroup.com/”char *p = str ;int n = 10;请计算sizeof (str ) = ?(1)sizeof ( p ) = ?(2)sizeof ( n ) = ?(3)void Foo ( char str[100]){请计算sizeof( str ) = ?(4)}void *p = malloc( 100 );请计算sizeof ( p ) = ?(5)2>Void GetMemory(char **p, int num){*p = (char *)malloc(num);}void Test(void){char *str = NULL;GetMemory(&str, 100);strcpy(str, "hello");printf(str);}请问运行Test 函数会有什么样的结果?3>int i=10, j=10, k=3; k*=i+j; k最后的值是4>以下是求一个数的平方的程序,请找出错误:#define SQUARE(a)((a)*(a))int a=5;int b;b=SQUARE(a++);4>C/C++编译器中虚表是如何完成的?5>.对于一个频繁使用的短小函数,在C语言中应用什么实现,在C++中应用什么实现?6>unsigned char *p1; unsigned long *p2; p1=(unsigned char *)0x801000; p2=(unsigned long *)0x810000; 请问p1+5= ; p2+5= ;