面试笔试问到一些问题

来源:互联网 发布:sql insert into 多表 编辑:程序博客网 时间:2024/05/24 06:57

通过笔试面试认识到自己很多不足,这里记录下,有些可能会简单记录下答案,详细地可以自行搜索



ieg补录笔试,只记得一些印象深的
负数取模 a%b=c  =a-(a/b)*b
strcpy memcpy memmove各自特点,主要是还是memmove这个,他比其他两个多了一个拷贝内存重叠的处理,而strcpy针对的是char,根据'\0'结束,而memcpy针对的是各种类型,拷贝整段内存,主要指定拷贝长度
用unsign 变量跟int负数相加作为while(xx>0)时是否会跳出循环
stl底层实现
非递归快拍
线程同步 :临界区 互斥量 信号量 事件
进程通信 :管道 信号 共享内存 信号量 套接字

编程判断bigendoan litteendian,这个当时完全没印象,好像是机组的,是指数字在内存中的存储方式是从高字节到低字节还是低到高


bigo的c++后台开发的电话二面

问了指针跟引用的区别:

1.引用不能为空,指针可以

2.引用不能改变指向,指针可以

3.引用的大小指的是引用的变量大小,而指针变身有4个字节的大小

4.引用比指针更安全,不存在什么空引用

tcp和udp的特点

tcp可靠传输的保证机制(忘了。。没怎么答得上来):校验、序号、重传、确认

还问了一些项目

接着是两个代码题,一个是char*转int的代码题,主要注意点:

1.先判断char是否为null

2.前后的空格

3.是否有-/+,主要是正号没考虑到

4.接着就是每次乘10,再加上那个char,加上去之前要记得判断是不是数字,然后还要判断是否越界,int的范围为[-2^31,2^31-1],判断方法为将int的下界或者下界除以10以及取模10,不能直接用之前的机算*10+新数字进行比较,这样很容易就越界


还有一个兔子繁殖问题,一对兔子每三个月生一胎,新出生的兔子三个月后就能再生,问n个月之后有多少,这个题大概记得是斐波那契数列f(n)=f(n-1)+f(n-2),但是当时讲得很乱。这里整理下思路,对于n月的兔子数来说,他的兔子来源只有两种,一种是上个月的兔子存活下来,还有一种是新出生的,新出生的应该是两个月前的兔子数,所以就是f(n)=f(n-1)+f(n-2)

原创粉丝点击