cvte 软件开发c++技术面一面经

cvte 技术面一

自我介绍之后,问是否做过项目?没有就直接上代码找错or输出结果

  1. //针对c里面的指针的理解 //判断输出 #include<stdlib.h>
    #include<stdio.h>
    int main(){  int a[] = {1,2,3,4,5};  int *ptr = (int *)&a + 1;  printf("%d,%d",*(a+1),*(ptr-1));
        return 0;
    }
    
    //输出结果  2,1
    //int *ptr = (int *)&a + 1;必须加强制类型转换否则报错
  2. //运算符sizeof的理解
    //判断下列代码是否有错?问题出在哪里?
    #include<stdio.h>
    int main(){  int buffer[20];  int * pbuffer = buffer;  for(int i = 0; i < sizeof(buffer);i++){  *(pbuffer++) = 0;  }  return 0;
    }
    
    //整个循环执行20*4次,而pbuffer分配了20个整数的位置,超过20以后,没有分配内存,赋值出现错误,不可行 

  3. virtual 关键字的作用,是否了解多态,虚函数的底层实现?析构函数能否为虚函数?析构函数能否重载?为什么?构造函数能否是虚函数?为什么?

  4. 是否了解内联函数?怎么实现内联函数?与宏定义有什么区别?是否所有函数都可以写成内联函数?虚函数是否可以定义内联函数?

  5. 了解哪些常用STL容器?选择一个认为比较熟悉的容器,vector和list的区别,优缺点?vector的底层扩容机制?为啥是2倍,1.5倍,而不是3,4倍?是否测试过?声明一个vector,数据个数按2,10,100,1090,增长,vector应该声明多大的?为什么?双向队列有什么特点?实现机制?里面的数据在内存上怎么存放(随机or有序)?

  6. 基本的数据结构,是否自己实现单向链表?

  7. 讲述一下如何判断一个单向链表是否形成环?手写代码判断两个单向链表是否相交,若相交,返回第一个相交节点(8-10分钟)。写完代码之后,问有什么可以优化的地方?

  8. 是否了解多线程?线程与进程的区别?进程数是否越多越好?为什么?在一个项目设计中,如何确定进程的数量?


#广州视源电子科技股份有限公司##C++工程师#
全部评论
为啥跟我的差不多的呀
点赞 回复 分享
发布于 2017-09-20 21:39
这什么岗位??
点赞 回复 分享
发布于 2017-09-20 21:38

相关推荐

不愿透露姓名的神秘牛友
07-03 18:22
投了几百份简历,专业和方向完全对口,都已读不回。尝试改了一下学校,果然有奇效。
steelhead:这不是很正常嘛,BOSS好的是即便是你学院本可能都会和聊几句,牛客上学院本机会很少了
点赞 评论 收藏
分享
牛客90772103...:格林美(无锡)
点赞 评论 收藏
分享
06-05 19:46
已编辑
武汉大学 后端
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-02 17:28
25届每天都在焦虑找工作的事情0offer情绪一直很低落硬撑着面了一个岗位岗位有应酬的成分面试的时候hr给我出各种场景题问的问题比较犀利&nbsp;有点压力面的感觉感觉有点回答不上来本来就压抑的情绪瞬间爆发了呢一瞬间特别想哭觉得自己特别没用没绷住掉眼泪了事后想想觉得自己挺有病的&nbsp;真的破大防了
喜欢唱跳rap小刺猬...:我觉得没关系吧,之前有一次面试leader给我压力面,我顶住了压力,结果入职的时候发现组里氛围很差,果断跑路。其实从面试就能大概看出组的情况,面试体验好的组倒是不一定好,但是面试体验不好的组。。。就很难说
点赞 评论 收藏
分享
评论
点赞
30
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务