一面:
1.Linux命令
统计出现最多的字符数
查找名字中包含abc的文件:find /etc -name '*abc*'
查找文件中的magic并且统计个数 grep magic /usr/src|wc -l
显示在aa,bb,cc文件中包含test的行 grep ‘test’ aa bb cc
2.web问题
1)cookie和session的区别
cookie是采用客户端保持的状态,即数据存放在客户的浏览器上;而session机制采用的是在服务端保持的状态,数据放在服务器上
cookie安全性不够,由于信息放在客户端,其他人很容易得到本地的cookie
cookie保存的数据有限
2)get和post的区别
get向服务端上传数据时,一般将数据添加到URL后面,用&连接,post放在request body中
get参数直接暴露在外面,会不安全,post更加安全一些
get产生一个tcp数据包,post产生两个数据包(get方式的请求,浏览器会把http header和data一起发送出去;post 浏览器先发送header,服务器响应100,然后再发送data,服务器响应200 ok)
4.手写代码
1)一个链表是否包含环
2)快速排序,写测试用例
3)冒泡排序
5.一个文件中有多个单词,如何加快查找速度-面试官提示使用hashmap
6.java
1)integer和int的区别
int是基本数据类型,初始化时可以直接赋值
integer是int的封装类
2)抽象、封装、继承、多态
抽象:在定义一个类的时候,把一类事物的公有的属性和行为提取出来
封装:将类中的数据和方法通过访问控制实现隐藏(public、protected、default、private)
继承:一个对象获取父对象的属性和行为的机制
多态:重载和重写
3)
4)重载和重写的区别
都是实现多态的方式,区别在于前者实现的是编译时的多态,后者实现的是运行时的多态
重载发生在一个类中,同名的方法如果有不同的参数列表(个数、顺序、类型),则为重载;重载对返回类型没有特殊的要求,不能根据返回类型进行区别
重写发生在父类与子类之间,重写要求子类与父类的被重写方法有相同的参数列表,有兼容的返回类型,比父类被重写方法有更好的访问,不能比父类被重写方法声明更多的异常
二面
1.最长连续子序列
2.在测试过程中遇到的困难
3.自动化代码的流程
4.有什么问题要问的?