您的位置:首页 > 职场人生

未整理 笔面试题

2013-02-22 13:32 190 查看
1、关于VB、C#
Option Explicit 语句在模块级别中使用,强制显示声明模块中的所有变量。Option Explicit 语句必须写在模块的所有过程之前。如果模块中使用了 Option Explicit,则必须使用 Dim、Private、Public、ReDim 或 Static 语句来显式声明所有的变量。如果使用了未声明的变量名在编译时会出现错误。如果没有使用 Option Explicit 语句,除非使用Deftype 语句指定了缺省类型,否则所有未声明的变量都是 Variant 类型的。注意:使用Option Explicit 可以避免键入已有变量时拼错,在变量的范围不是很清楚的代码中使用该语句可以避免混乱。
2、关于SQL
性能调试:调碎片、调索引、调命令
clusterd index:整个表按索引列排序
同时存在聚集和非聚集时,非聚集只存聚集的值,并非物理指针,靠聚集索引定位数据只有非聚集索引时,存放的是物理指针.聚集索引键值越短小越好.数据量、查询方式,会影响非聚集索引的使用,好的索引离不开业务场景.如表中存在聚集索引,聚集索引扫描就是表扫描.
索引的作用:提高定位数量效率,包括查询、更新、删除
索引与锁相关,提高并发性,更新、删除需要通过索引定位数据,进行行锁
存储过程:
sp_XXXX 默认为系统的存放在Master表中,在调用时,系统会查找Master数据库,然后再查本地数据库。SQL会缓存执行计划,由第一个执行sp的执行计划决定。如果查询条件可能导致存储过程的执行数据变化大,则可实时编译存储过程
Create Proc usp_select(@I Int) with Recomplie
临时表与表变量的区别
a、#、##
临时表存储在tempdb中,或者磁盘中,可定义索引,Tempdb初始大小,把大数据表中的数据放入临时表中,然后与其他数据表多表连接
b、@
表变量 存放于内存、不能定义索引、需要及时删除
没有锁带来的问题:
1、丢失更新
2、脏读(读到别人还没有提交的数据)
3、不可重复读(在一个事物中读两次,读到的数据不一致)
4、幻影(先更新,后读取)
事物隔离级别:
1、未提交读(不会出现问题1)
2、提交读(不会出现问题1、2,SQL中默认级别)
3、可重复读(不会出现问题1、2、3)
4、串行(最高级别)

修改事物隔离级别:
SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTION/COMMITTION

SNAPSHOT作用范围:当前session有效,并不是系统级别
默认select加共享锁,可用下列语句脏读select * from TableName with(noblock)

UNION select的列需要类型相同,并且序列一致,去掉重复结果集,以第一个select语句为准
UNION ALL 保留所有结果集

A inner join B on ===select from A , B where

create view test as select ,,, from ,,,, left/inner/right/full join ,,,on

where ,,, union (all) select ,,, from ,,,, left/inner/right/full join ,,,on

where ,,,

with(noblock) == readuncommitted 指定允许脏读,不发布共享锁来阻止其他事物来

修改当前事物在读的数据,其他事物的排他锁不会阻止当前数据读取锁定数据

BOF 指示当前记录位置位于recordset的第一个记录之前

EOF 指示当前记录位置位于recordset的最后一记录纸后

MYSQL取得当前时间用 now() 就行。

在数据库中格式化时间 用DATE_FORMA T(date, format) .

为什么在debug可以在Ie不行

为什么chrome and IE 乱码
CodeIgniter项目中load的原理,

if ( ! defined('BASEPATH')) exit('No direct script access allowed');

//此句用于防止跳过控制器直接访问model或view

CI如何加载error

Class中this

如何向数据库中循环插入10条记录

存储过程

create procedure MYINS

decalre @txt varcher(10)

decalre @i int

set @i=0

while @i<10

begin

set @i=@i+1

insert into first(content)values(cancat('yy',@i)

end
php 8种数据类型(integer,string,bool,float;object,array;null,resource;)

时间戳是文件属性中创建修改和访问时间。起始于1970.1.1 终止于2038.1.19

magic_quotes_gpc on时 不用使用addslashes,用时必须使用stripslashes 同时

off时必须用addslashes,但不用stripslashes

magic_quotes_runtime

若 magic_quotes_runtime 打开时,所有外部引入的数据库资料或者文件等等都会自动转为含有反斜线溢出字符的资料。

如何取出数组中值为V的项

array_filter($entry) array_filter函数的功能是利用回调函数来对数组进行过滤,一直都以为用回调函数才能处理,却没有发现手册下面还有一句,如果没有回调函数,那么默认就是删除数组中值为false的项目

写一个程序,远程抓取www.gogle.cn网页内容,并匹配所有超连接,写入URL.TXT
while(list(,$line)=each($p)){
while(eregi('(href[[:space:]]*=[[:space:]]*"?[[:alnum:]:@/._-]+"?)(.*)',$line,$regs)){
$regs[1] = eregi_replace('(href[[:space:]]*=[[:space:]]*"?)([[:alnum:]:@/._-]+)("?)',"\\2",$regs[1]);
echo " $regs[1]<br>";
$line = $regs[2];
}
}
3、php
如何检查SQL语句的效率索引使用情况;

mySQL数据库Sql语句执行效率检查--Explain命令

一个文件体积大小为2G,内存只有1G,php分析数据如何读取大文件。

1. <?php

2. $fp = fopen('test.txt','r');

3. $fs = filesize('test.txt');

4. $i = $n = NULL;

5. while($i <4)

6. {

7. fseek($fp,$fs--);

8. $n = fread($fp,1);

9. ($n=="

")?$i++:1;

10.echo $n;

11.}

12.fclose($fp);

13.

序列化和反序列化 serialize & unserialize 对象的字符串表示和构建对象

Php的魔术方式有哪些,在什么情况下被自动调用

以下为总结的在使用类时可用的魔术方法,魔术方法会在某种待定情况下被自动调用,但前提是该方法被定义。有些方法不一定要定义在类中,还可以写在程序中作为一个函数。
__construct() 构造函数,创建对象时自动调用
__destruct() 析构函数,不需要创建
__clone() 克隆函数,调用clone方法时自动调用
__set() 当程序试图写入一个不存在或不可见的成员变量时自动调用。该函数在类中定义时必须有两个参数:变量称和变量值 。
__get() 当程序调用一个未定义或不可见的成员变量时自动调用__get()来读取变量值。定义时必有有一个参数:变量名
__call() 当程度试图调用不存在或不可见的成员方法时,自动调用__call()来存储方法名及其参数。该方法包含两个参数:方法名和方法参数。其中方法参数以数组形式存在。
__sleep() 使用serialize()实现序列化对象时,先执行该方法,清除对象并返回一个该对象中所有变量的数组。
__wakeup() 使用unserialize()还原一个被序列化的对象时,先执行该方法,恢复在序列化中可能丢失的数据库连接及相关工作
__toString() 当使用echo或print输出对象时,将对象转化为字符串
__autoload() 调用未被实例化的类时,自动调用,在指定路径下查找和该类名称相同的文件。

Arrayaccess 提供像访问数组一样访问对象的能力的接口

ArrayAccess::offsetExists — 检查一个偏移位置是否存在
ArrayAccess::offsetGet — 获取一个偏移位置的值
ArrayAccess::offsetSet — 设置一个偏移位置的值
ArrayAccess::offsetUnset — 复位一个偏移位置的值
SQL注入最有效的防御方式

如何查看某个SQL的执行计划

Myisam 与 innodb 存储引擎有何区别 使用哪种更好用于bbs,cms

Innodb 事务安全 具有原子性 bbs myisam 适合大量数据select cms

http状态码 1xxx 临时响应

200 success

304 not modify

403 not authority

404 request page not found!

405 页面被禁用

500 服务器内部错误

GZIP 压缩传输 是浏览器和服务器间压缩传输协议

同一个IP 使用手机和电脑显示不同页面

Php实现二分查找,顺序查找,冒泡排序,快排,二维数组排序算法

如何记录php程序错误到系统日志
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  php vb sql 笔面试