1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
一.微软面试开发者
1.把一个字符串转换成整数。
实现一般功能的写法
int
StrToInt(
char
* string)
{
int
number=0;
while
(*string!=0)
{
number=number*10+*string-
'0'
;
++string;
}
return
number;
}
该程序没有考虑到1)输入负数、正负号问题 2)最大整数和最小负数溢出问题 3)字符串不能转换成整数时如何做错误处理
而且程序也不够鲁棒,只要输入一个空指针,程序立即奔溃;
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
int
StrToInt(
char
*string)
{
int
number = 0;
bool
flag =
true
;
int
i;
if
(string[0] ==
'-'
)
{
flag =
false
;
}
if
(flag ==
false
)
{
for
(i = 1; string[i] >=
'0'
&& string[i] <=
'9'
; ++i)
{
number = number * 10 + (string[i] -
'0'
);
}
return
-number;
}
else
{
for
(i = 0; string[i] >=
'0'
&& string[i] <=
'9'
; ++i)
{
number = number * 10 + (string[i] -
'0'
);
}
return
number;
}
}
|
二.阿里电话面试
1.Linux中查看电脑性能的命令是什么?CPU使用率并根据相应信息分析系统状况
top CPU的状态以全屏方式显示,并且处于对话模式,退出q
top 的全屏对话模式可分为3部分:系统信息栏、命令输入栏、进程列表栏。
1)(top)系统信息栏:系统当前时刻、系统启动后到现在的运作时间、当前登陆到用户的终端数、当前系统负载的平均值
(task)当前系统进程总数、当前运行中的进程数、当前处于等待状态中的进程数、停止的系统进程数、复原的进程数
(Cpus)CPU当前的使用率
(Mem)内存总量、当前使用量、空闲内存量、缓冲使用中的内存量
(Swap)分区swap的使用情况
2)内部命令提示栏
3)进程列表栏
2.Linux中查看文件的命令有哪些?
whereis (寻找特定文件) whereis [-bmsu] 文件或目录名 whereis ifconfig; whereis -m passwd
locate(寻找特定文件名)locate [-ir] keyword loate passwd; -r后可接正则表达式的显示方法
updatedb:根据/etc/updatedb.conf的设置去查找系统硬盘内的文件名,并更新/var/lib/mlocate内的数据库文件 locate:根据/var/lib/mlocate内的数据库记载,找出用户输入的关键字文件名
whereis和locate是利用数据库来查找数据,而不实际查找文件系统,相当快速。
which (寻找“执行文件”) which [-a] command: which ifconfig; which which;
type (寻找“执行文件”) type -t ls ;-t 显示意义;
which和type都是通过PATH变量所规定的目录来查找完整的文件名
find(查询文件系统)find [PATH] [option] [action] find / -mtime 0;
使用find可以直接查询文件系统,查找具有特殊属性的文件,即文件当中含有SGID,SUID,SBIT的文件;
其中file是查看文件类型 file /usr/bin/passwd
3.Linux中使用vim编辑代码的时候,将vim在后台运行,进行终端操作的命令,如何再回到vim编辑?
:shell
exit
三.NI公司面试
1.写strcpy函数作用的代码