博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
最近遇到问题
阅读量:5046 次
发布时间:2019-06-12

本文共 3014 字,大约阅读时间需要 10 分钟。

最近笔试面试的一些问题和感触 ,都是c,c++ 基础题 , 主要是做的题太少。 基础真的是没有, 这几年的大学生活都被狗吃了 真的很想吐槽自己的大学生活。 感觉找工作的一个月 都比大学学的基础都多。 现在不讲这些 马上把一些基础问题 重新回顾一下把。(最近复习我的C++啊)

class Bass {public:    Bass(){x = 1;}     int x;}; class Derive :public Bass {        public:    Derive(){x = 2;}     int x ;};  int main(int argc, const char * argv[]){     Derive d;    Bass & b1 = d;    printf(" %i ,%li,%li",b1.x ,sizeof(b1),sizeof(d));    return 0;} 输出 : 1 4 8

记得面试碰到最多的问题是 sizeof  操作符的问题  一开始我都不知道这些 后来。。。。

看了   找一段重要的贴一下

4。结构类型在上面的程序中,struct str{                          double d;                         char ch;                          int data; }str_wu; struct str1{                           char ch;                            double d;                             int data; }str_wu1;两个不同的结构,但是内部的元素是相同的,都是double,int,char,只是顺序不一样,就结果不一样。why?这时因为VC存储数据的时候要对其,具体的情况如下:类型  对齐方式(变量存放的起始地址相对于结构的起始地址的偏移量)  Char  偏移量必须为sizeof(char)即1的倍数  int   偏移量必须为sizeof(int)即4的倍数  float  偏移量必须为sizeof(float)即4的倍数  double  偏移量必须为sizeof(double)即8的倍数  Short  偏移量必须为sizeof(short)即2的倍数比如:str_wu,为上面的结构分配空间的时候,VC根据成员变量出现的顺序和对齐方式,先为第一个成员dda1分配空间,其起始地址跟结构的起始地址相同(刚好偏移量0刚好为sizeof(double)的倍数),该成员变量占用sizeof(double)=8个字节;接下来为第二个成员dda分配空间,这时下一个可以分配的地址对于结构的起始地址的偏移量为8,是sizeof(char)的倍数,所以把dda存放在偏移量为8的地方满足对齐方式,该成员变量占用sizeof(char)=1个字节;接下来为第三个成员type分配空间,这时下一个可以分配的地址对于结构的起始地址的偏移量为9,不是sizeof(int)=4的倍数,为了满足对齐方式对偏移量的约束问题,VC自动填充3个字节(这三个字节没有放什么东西),这时下一个可以分配的地址对于结构的起始地址的偏移量为12,刚好是sizeof(int)=4的倍数,所以把type存放在偏移量为12的地方,该成员变量占用sizeof(int)=4个字节;这时整个结构的成员变量已经都分配了空间,总的占用的空间大小为:8+1+3+4=16,刚好为结构的字节边界数(即结构中占用最大空间的类型所占用的字节数sizeof(double)=8)的倍数,所以没有空缺的字节需要填充。所以整个结构的大小为:sizeof(str_wu)=8+1+3+4=16,其中有3个字节是VC自动填充的,没有放任何有意义的东西。

还有好多是基础的太基础的问题  我都忽略了。 

来个简单的算法把

  参考:http://hi.baidu.com/aztfei/item/70042cdf3103fa866cce3fd0

1 关于找出数组中第二大的数 2  3 public int FindSecond(int[] arr) 4 { 5 int length=arr.length; //数组长度 6 int max=arr[0];    // 当前第一项为最大项 7 int second=arr[1]; //当前第二项为最大项 8 if (max < second)     //比较第一二项的大小,根据大小设定max,second 9 {10    int temp = max;11    max = second;12    second = temp;13 }14 for(int i=2;i
max) //修改max的值17 {18 second = max;19 max = arr[i];20 }21 else if (arr[i] < second) //比second小继续循环。22 {23 continue;24 }25 else // 此项即比max小,但比second数组大的项,把它重新复制给second26 {27 second = arr[i];28 }29 }30 return second;31 }

将字符串反序输出 

//反序一个字符串void reverse(char s[]){ char c; int i,j; j = strlen(s) - 1; for(i = 0;i < j;i ++) {  c = s[i];  s[i] = s[j];  s[j] = c;  j --; }}void main(void){ char str[LENGTH + 1]; cout<<"Input a string:"; cin>>str; reverse(str); cout<<"The string is reversed:"<
<

 

问的最多的就是 手游的屏幕适配问题  可以看看

  http://blog.csdn.net/xiaominghimi/article/details/8918235

  http://www.ityran.com/archives/4018

最近逼自己做了一个完整的 demo 去应聘  , 那样即使你C++ 不是很好。 面试的大牛也会对你好点的 , 不会太为难你, 工资还可观点呵呵。

demo 就不放出来了。 呵呵。 技术太次了。

  想做手游的还是得看C++啊。

 

以上是我的最近面试碰到多一点的题, 有好多还没有整理 等有条件的把。

  最头疼的是 做那些操作系统 的题, 要看啊。 

做游戏那么麻烦么。 

  注: c++ c  数据结构  算法  操作系统  等

  

 

转载于:https://www.cnblogs.com/linux-ios/p/3395538.html

你可能感兴趣的文章
跨平台开发 -- C# 使用 C/C++ 生成的动态链接库
查看>>
关于Redis处理高并发
查看>>
C# BS消息推送 SignalR介绍(一)
查看>>
asp.net core 系列 16 Web主机 IWebHostBuilder
查看>>
WPF星空效果
查看>>
WPF Layout 系统概述——Arrange
查看>>
PIGOSS
查看>>
几款Http小服务器
查看>>
iOS 数组排序
查看>>
第三节
查看>>
PHP结合MYSQL记录结果分页呈现(比较实用)
查看>>
Mysql支持的数据类型
查看>>
openSuse beginner
查看>>
Codeforces 620E(线段树+dfs序+状态压缩)
查看>>
Windows7中双击py文件运行程序
查看>>
Market entry case
查看>>
bzoj1230 开关灯 线段树
查看>>
LinearLayout
查看>>
学习python:day1
查看>>
css3动画属性
查看>>