无论是做自动化,还是做测试开发,对于编程题目的面试还是不少的,带着大家看几道编程相关的面试题目,
题一:
给你一个文件,判断这个文件是否是目录,是目录则输入当前目录文件的个数和路径
解析,这道题,在于考察for循环和递归的使用。我们去遍历路径下面的每一个路径,是文件,我们就在文件数加一,是目录,接着去遍历,也就是递归去遍历这个目录。
那么我们来看看python版本是怎么实现的:
import os
def filenum(path):
if os.path.isfile(path):
print(path)
print('file num is 1 ')
return
num=0
file_num=0
for i in (os.listdir(path)):
filepath=os.path.join(path,i)
if os.path.isfile(filepath):
num+=1
print('文件是:%s'%filepath)
else:
print('当前目录%s'%filepath)
file_num+=1
filenum(filepath)
print('当前文件数量:%s'%num,'当前文件夹数量%s'%file_num,
'路径是:%s'%(path))
filenum('/Users/lileilei/Desktop/testplan')
我们看下输出:
java版本是怎么实现的:
import java.io.File;
import java.util.LinkedList;
public class fileexit {
public static void findfiles(File file) {
int filenum=0;
int dicetnum=0;
if(file.exists()){
if(file.isFile()){
System.out.println("文件名:"+file+"个数:"+1);
}else if (file.isDirectory()) {
LinkedList<File> list = new LinkedList<File>();
File[] files = file.listFiles();
for(File file2:files){
if (file2.isDirectory()){
String Fdict = file2.getAbsolutePath();
System.out.println("文件夹是:"
+file2.getAbsolutePath());
File path=new File(Fdict);
fileexit.findfiles(path);
dicetnum++;
}else{
System.out.println("文件路径:" +
file2.getAbsolutePath());
filenum++;
}
}
System.out.println("****************查找结果*******");
System.out.println("路径是:"+file);
System.out.println("路径:"+file+"
下总共有文件总数量:"+filenum+"
文件夹总数量:"+dicetnum);
}else {
System.out.println("既不是文件也不是文件夹");
}
}else {
System.out.println("你要判断的文件怎么可能是不存在呢!");
}
}
public static void main(String[] args) {
fileexit fil=new fileexit();
File path=new File("/Users/lileilei/Desktop/testplan");
fil.findfiles(path);
}
}
我们看下Java的输出
我们可以看到,其实面试的题目没有那么难,更多考察的是我们对基础知识的掌握程度,还有我们编程的能力。赠送几句话给大家共勉。
面试题目难度适中,面试者需积极面对。
基础知识掌握牢固,面试随你出题考察。
一切源于基础考察,一切难在考察基础。
千变万化考试题目,永远以不变应万变。
如果感觉本文写的好,请点在看或分享给他人。