自己面试过程中所做的一次笔试,感觉挺简单的,属于入门level,只是试试手,公司名称就不透露了。因为没有签署保密协议,所以把部分试题和我做的答案以图片形式附在下面,以后偶尔时复习看看。试题如下:
1. 现有DIV1, DIV2和DIV3,请用html+CSS实现以下布局(中间为DIV名字,不用实现)
答案:
2. 使用以下任何一种编程语言,编写一个快速排序函数quicksort。实现输入数字的排序功能。(PHP, JavaScript, Java, Object-c, C, ASP)
答案:
PHP版本:
function quicksort(&$arr,$left,$right){
$index=partition($arr,$left,$right);
if($left<$index-1) quicksort($arr,$left,$index-1);
if($index<$right) quicksort($arr,$index,$right);
}function partition(&$arr,$left,$right){
$pivot=$arr[($left+$right)/2];
while($pivot>$arr[$left]) $left++;
while($pivot<$arr[$right]) $right--;
$arr[$left]=$arr[$right];
Java版本:
public static void quicksort(int[] array,int left,int right){
int index=partition(array,left,right);
quicksort(array,left,index-1);
quicksort(array,index,right);
}private static int partition(int[] array,int left,int right){
int pivot=array[(left+right)/2];
while(array[left]<pivot) left++;
while(array[right]>pivot) right--;
array[left]=array[right];
3. 有一张文章评论表comment如下:
以上是一个应用的comment表格的一部分,请使用SQL语句找出在本站发表的所有的评论数最多的前10位用户及其评论数,并按评论数从高到低排序(默认使用MySQL数据库)。
答案:
select sum(count),user_id
4. 编写正则表达式取出以下字符串的链接地址(即http...部分),选择你熟悉的语言完成即可,C,PHP,JS,Java等任意语言。
<a href="http://www.facebook.com/notes/snappy-tomato-pizza/index.php" target="_blank">Snappy Tomato Pizza</a>
答案:
if(prep_match($a,$string,$b))
5. 有文章表article(id, title, post_date),评论表comments(id, article_id, content, post_date)。 请写出SQL语句找出当天最新的10条评论(每篇文章只能找出一条评论)。
答案:
from comments,(select article_id as id, max(tiemstamp(post_date)) as time
where to_days(post_sate)=to_days(now())
group by article_id) as T
where comments.article_id=T.id and timestamp(comments.post_date)=T.time
6. 找出执行时间最长的SQL语句。 解释MySQL多字段索引的执行情况。
答案:这道题的问题比较模糊,现在也没能理解是什么意思,知道的朋友帮我解答一下。
7. 分别列举3个例子,什么样的编程行为/函数,有助优化PHP/JSP/.NET的数据库读写速度,什么样的操作设置不利于数据库快速响应?
答案:
- 尽量减少使用数据库链接的次数,IO访问花费时间比较长。
- 对数据的处理尽量写在SQL中,不要写在php中,数据库效率高。
- 使用面向对象的函数调用数据库比直接使用数据库函数好一些。
文章评论