一、算法编程
1、f(0)=0;f(1)=1;
f(n)=f(n-1)+f(n-2)
求f(n)
2、有主字符串A,子字符串B,在A中查找B
“看毛片”算法。
3、写出你熟悉的排序算法,并说明其优缺点
快速排序和归并排序。
3.1、快速排序优缺点:优点:时间复杂度为nlogn,空间复杂度也为你O(nlogn);缺点:在整个序列已经有序或者完全倒序的情况下,快速排序退化为冒泡排序,其时间复杂度为O(n^2),且快速排序是不稳定排序;
3.2、归并排序的优缺点:优点:最好、最坏、平均情况下时间复杂度都是O(nlogn),且是稳定排序;缺点:空间复杂度较高,为O(n)。
二、Mysql题目
1、将table中的数据全部拷贝到新表table_r中
分为几种情况:1、如果table_r和table结构相同,且在同一个数据库中;2、结构相同,但不在同一个数据库中;3、结构不相同,又分为是否在同一数据库中两种情况。
2、mysql的三种驱动类型?mysql锁?
mysql的三种驱动类型?不知道、不清楚,只知道mysql注册jdbc驱动的三种方式;
mysql锁主要分为三类,分别是行级锁定、表级锁定和页级锁定。
行级锁定的粒度最小,提高并发处理能力,但对系统资源消耗较大,容易造成死锁;
表级锁定的粒度最大,不会造成死锁,对系统造成的负面影响最小,但并发效率最低;
页级锁定介于行锁定和表锁定之间,会造成死锁。
表级锁定又分为读锁定和写锁定。
三、Java题目
1、string为什么不会变
因为底层实现的数组是final的。
2、多态是什么?怎样实现多态?
多态是指不同类的对象对相同的消息作出不同的响应动作。具体表现为父类类型的引用变量可以引用子类对象实例,或者接口变量可以引用实现了该接口的对象实例。
因此通过继承可以实现多态。
3、collection与collections区别
collections是java.util下的类,它包括了所有有关集合操作的静态方法;
collection是java.util下的接口,是所有额集合接口的父类。
4、Arralist与Vector区别?Arraylist与LinkedList区别?
简单题。
5、写出常用端口:Http 80、ftp 21 、telnet 23、SMTP 25 、PoP3 110。。。
哦。。
6、写出查找网页中所有图片地址的正则表达式
public class RegexTest { public static void main(String[] args) { String regular = "^<img\\s+src=\".*\">$"; while (true) { Scanner scanner = new Scanner(System.in); String line = scanner.nextLine(); if (line.matches(regular)) System.out.println("matched"); else System.out.println("not matched!"); } } }
四、Linux命令
1、查找所有名称含 'tomcat' 的进程的命令
ps -a | grep tomcat
2、。。。
3、。。。
五、翻译一段英文
接着是面试:
mysql优化(回答索引、拆分等,回答不够)
服务器优化方式?(nginx、分布式等,回答不够)
大型网站如何架构?
反正问的都是数据库、服务器优化方面;
Ajax传递数据格式?