面试总结 3
1.请列举你能想到的unix信号,并说明信号用途
2.有一个ip地址,192.168.0.1,请写出其32位无符号整数形式
3.请写出http头,并符合以下要求
a)这是一个post请求
b)目标:http://www.example.com:8080/test
c)post变量
username:test
pwd:test2
intro:hello world!
d)包含以下cookie信息:
cur_query:you&me
POST http://www.example.com:8080/test HTTP/1.1
Host: http://www.example.com:8080/test
Connection: keep-alive
Content-Length: 10
Cache-Control: max-age=0
Origin: http://localhost
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.106 Safari/537.36
Content-Type: application/x-www-form-urlencoded
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Referer: http://www.example.com:8080/test
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.8
Cookie: cur_query:you&me
4.请简述以下shell命令与作用
top find df mv wc touch(新建文件夹或更改时间) tar chmod sar strace
5.写一段程序,打印出本月日历
6.从表info中取出phone的后四位,按条件是status为1,并creatdate 降序排列
例表结构
id phone vote createdate status
33 13881002334 1 2008-04-23 1
34 1381009334 4 2008-04-22 1
35 1381003057 2 2008-04-22 0
34 1381003224 6 2008-04-22 1
7.针对以下SQL语句给出可以使用的索引
select 'id' 'title' from dt where 'column'=100 and 'status'=1 order by 'cdate' desc', 'ctime' desc
8.分别描述一下,索引、事务的概念以及至少一个使用场景
- 事务概念
事务就是一组原子性的SQL查询,或者说一个独立的工作单元。如果数据库引擎执行一组操作语句,那么久执行所有的操作,如果其中有任何一条崩溃或其他原因无法执行,所有语句将不会执行。也就是说事务内的语句,要么全部执行成功,要么全部执行失败。 - 索引概念
索引是存储引擎用户快速找到记录的一种数据结构 -
-
索引方式
-
B-Tree索引
使用B-Tree数据结构来存储数据,大多MySQL引擎都支持该索引。B-Tree索引可以加快访问数据的速度,因为B-Tree对索引列顺序组织存储,范围查找快。 -
hash索引
哈希索引基本哈希表实现,只有精确匹配索引所有列的查询才有效。对于每一行数据,存储引擎都会对所有的索引列计算一个哈希码,哈希码值较小。哈希索引将所有的哈希码存储在索引中,同时在哈斯表中保存指向每个数据行的指针。MySQL中只有Memory引擎显示支持哈希索引。
-
-
索引类型
-
普通索引
主要任务加快对数据的访问 -
唯一索引
普通索引是允许数据重复的,如果确定了某列数据不会重复,则可创建唯一索引,唯一索引有两个好处,索引更有效:插入新数据,如果重复,MySQL拒绝插入。 -
主键索引
主键本身默认创建索引 -
全文索引
文本字段上的普通索引只能加快对出现在字段内最前面的字符串进行的检索操作,如果字段里存放的是由几个或者多个单词构成的大段文字,普通索引就不行了,这种场合用全文索引比较合适
查询效率:唯一索引>自增主键>主键
插入:主键>自增主键>唯一索引
-
-
9.如何检测一个链表中是否又环,如果检测到环,如何确定环的入口点
10.内存拷贝的实现
11.如果构造函数内出现了异常,
-
在构造函数中抛出异常是C++中通知对象构造失败的唯一方法。
-
构造函数中抛出异常,对象的析构函数将不会被执行。
-
构造函数抛出异常时,本应该在析构函数中被delete的对象没有被delete,会导致内存泄露。
-
当对象发生部分构造时,已经构造完毕的子对象(非动态分配)将会逆序地被析构。