2012.9.20以来的笔试面试(中兴,百度,趋势科技等)

最近经历的笔试和面试

9.21中兴笔试
1.BYTE/WORD32
2.==与&&的优先级
3.signed char和unsigned char范围
4.变量定义 $person,TwoUsers,*point,_endline
5.脏数据的概念
6.广播地址的含义
7.子类对象可以强制转换为父类对象编译通过?


9.22百度笔试
1.死锁的原理和预防方法

2.面向对象的三大要素和设计的五项基本原则

面向对象程序设计的五大原则

3.windows内存管理机制
4.最后一道大题让设计手机输入法中,输入Num,由list<UserName,PhoneNo>查询出返回的<UserName,PhoneNo>


9.22趋势笔试

1.一块磁盘最多可以划分多少个主分区

一个硬盘最多只能划分为4个主分区,或者是3个主分区加上一个扩展分区,这是因为在硬盘的开头,也就是0磁头(head)、0柱(cyliner)、0面(side)、0磁道(track)、0扇区(sector)总共512字节存放着硬盘最重要的信息MBR(Master Boot Record,主引导记录)和分区的相关信息,由于记录空间只有那么大,所以也只能记录这4个分区的信息。

2.dynamic_cast<>,static_cast<>等

考察更多的是对语言的熟练程度,还有就是对不安全代码的分析和解释,网络,安全技术等


9.22大华笔试 
1."\\\"ABCD\"\\"的长度


9.22IGT面试
考官想看我简历,我白天都给别的公司,就没有了,尴尬
1.英文自我介绍

2.left join, inner join, right join的区别

left join(左联接) 返回包括左表中的所有记录和右表中联结字段相等的记录 
right join(右联接) 返回包括右表中的所有记录和左表中联结字段相等的记录
inner join(等值连接) 只返回两个表中联结字段相等的行

举例如下: 
--------------------------------------------
表A记录如下:
aID     aNum
1     a20050111
2     a20050112
3     a20050113
4     a20050114
5     a20050115

表B记录如下:
bID     bName
1     2006032401
2     2006032402
3     2006032403
4     2006032404
8     2006032408

--------------------------------------------
1.left join
sql语句如下: 
select * from A
left join B 
on A.aID = B.bID

结果如下:
aID     aNum     bID     bName
1     a20050111    1     2006032401
2     a20050112    2     2006032402
3     a20050113    3     2006032403
4     a20050114    4     2006032404
5     a20050115    NULL     NULL

(所影响的行数为 5 行)
结果说明:
left join是以A表的记录为基础的,A可以看成左表,B可以看成右表,left join是以左表为准的.
换句话说,左表(A)的记录将会全部表示出来,而右表(B)只会显示符合搜索条件的记录(例子中为: A.aID = B.bID).
B表记录不足的地方均为NULL.
--------------------------------------------
2.right join
sql语句如下: 
select * from A
right join B 
on A.aID = B.bID

结果如下:
aID     aNum     bID     bName
1     a20050111    1     2006032401
2     a20050112    2     2006032402
3     a20050113    3     2006032403
4     a20050114    4     2006032404
NULL     NULL      8     2006032408

(所影响的行数为 5 行)
结果说明:
仔细观察一下,就会发现,和left join的结果刚好相反,这次是以右表(B)为基础的,A表不足的地方用NULL填充.
--------------------------------------------
3.inner join
sql语句如下: 
select * from A
inner join B 
on A.aID = B.bID

结果如下:
aID     aNum     bID     bName
1     a20050111    1     2006032401
2     a20050112    2     2006032402
3     a20050113    3     2006032403
4     a20050114    4     2006032404

结果说明:
很明显,这里只显示出了 A.aID = B.bID的记录.这说明inner join并不以谁为基础,它只显示符合条件的记录。


3.数据库查询in和exist哪个快

in和exist的区别


4.查询键值最大的一条记录的SQL语句
5.多线程编程需要注意哪些问题

6.线程同步的方法



9.23腾讯笔试

1.数据库表的设计

2.UNIX的目录结构

Unix目录结构的来历

3.SQL语句的执行顺序(select,where,group by,having,order by等)

4.fork()子进程问题

问:

for(i=0;i<2;i++)

{

    fork();

    printf("-");

}

打印出多少个'-',若改为printf("-\n")打印出多少个。

5.数组最大和子序列

6.LIS问题最优解的时间复杂度和空间复杂度


9.23金山笔试

1.不用sizeof()操作符判断机器是32位还是64位。


9.23/9.24中兴一面/二面

1.二叉平衡树的概念

2.strcat()函数实现

3.问了关于const修饰变量和指针时的问题


9.24百度一面

1.绳子和数组,数组上有些位置有点,有些位置没有点,问绳子覆盖数组多长。时间复杂度,求优化后的算法。

2.拷贝构造函数解释,深拷贝浅拷贝区别,使用拷贝构造函数需要注意什么

3.判断两个单词是否为兄弟单词(字符和个数是一样的但顺序可以不同)

4.去掉一个字符串中在另一个字符串中出现过的字符。时间复杂度,改进优化的算法和时间复杂度。



评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值