面试题准备
第一大类:python
1.json.loads和json.dumps的区别
json.loads将str转换为字典,json.dumps将字典准换为str字符串。
json.loads将json转换为字典,方便python处理。json.dumps将字典转换为json,方便数据存储、阅读与传输。
2.用python计算从1加到50等于多少
sum = 0 for i in range(1,51): sum = sum + i print sum
3.你用python2还是python3?
讲一下range和xrange的区别?
range输出列表,xrange输出迭代器。如果用来做循环的话,尽量用xrange,可以节省内存。如果想得到一个列表,就用range。
4.读取一个文本文件并把内容打印出来
with open('data.txt','r') as f:
print f.read()
第二大类:shell
1.用shell写个脚本计算从1加到50等于多少
res=0 for ((i=1; i<=50; i++)) do res=`expr ${res} + ${i}` done echo $res
res=0 for i in {1..50} do res=`expr ${res} + ${i}` done echo $res
res=0 for i in `seq 1 50` do res=`expr ${res} + ${i}` done echo $res
2.打印日志最后一列(以空格分隔)
awk ‘{print $NF}’
第三大类:msql
1.查看前10行
select * from data limit 10;
2.查看指定元素值
select key from data where info='test';
3.查看有多少行数据
select cout(*) from data;
第四大类:算法
在一个字符串(0<=字符串长度<=10000,全部由字母组成)中找到第一个只出现一次的字符,并返回它的位置, 如果没有则返回 -1(需要区分大小写).(从0开始计数)
class Solution { public: int FirstNotRepeatingChar(string str) { int len = str.length(); int equal = 0; for(int i=0;i<len-1;i++){ for(int j=0;j<len;j++){ if (str[i] == str[j]){ equal++; if(equal>=2){ break; } } } if(equal == 1){ return i; } equal = 0; } return -1; } };
step by step.