之前还面试过交通银行信用卡中心,测试岗位主要问的项目,没啥好写的。

诺瓦的C++面试算是第一个技术面。

岗位C++开发人员

开始问的都是项目

几个核心的问题:

一.面向对象:

1.三要素:封装,继承,多态  (只让解释多态,这里把三个都列出来)

封装,把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的进行信息隐藏。简单的说,一个类就是一个封装了数据以及操作这些数据的代码的逻辑实体。在一个对象内部,某些代码或某些数据可以是私有的,不能被外界访问。通过这种方式,对象对内部数据提供了不同级别的保护,以防止程序中无关的部分意外的改变或错误的使用了对象的私有部分。

继承,是指可以让某个类型的对象获得另一个类型的对象的属性的方法。它支持按级分类的概念。继承是指这样一种能力:它可以使用现有类的所有功能,并在无需重新编写原来的类的情况下对这些功能进行扩展。通过继承创建的新类称为“子类”或“派生类”,被继承的类称为“基类”、“父类”或“超类”。继承概念的实现方式有三类:实现继承、接口继承和可视继承。
(1)实现继承是指直接使用基类的属性和方法而无需额外编码的能力;
(2)接口继承是指仅使用属性和方法的名称、但是子类必须提供实现的能力;
(3)可视继承是指子窗体(类)使用基窗体(类)的外观和实现代码的能力。

多态,是指一个类实例的相同方法在不同情形有不同表现形式。简单的理解就是事物的多种形态,专业的解释:同一个实现接口,使用不同的实例而执行不同的操作。多态机制使具有不同内部结构的对象可以共享相同的外部接口。这意味着,虽然针对不同对象的具体操作不同,但通过一个公共的类,它们(那些操作)可以通过相同的方式予以调用。

2.(1)用面向对象的思维去描述一瓶水,需要定义哪些类?
(2)再给你一罐咖啡,同时描述两件物品,需要怎么修改?

讨论后的答案:定义“容器”类作为基类,私有属性容积;
定义“瓶子”类和“罐子”类都是派生类,继承“容器”类,私有属性材料等;
水类通过接口访问“瓶子”类(继承“容器”类),得到一瓶水
咖啡类通过接口访问“罐子”类(继承“容器”类),得到一罐咖啡
(这样还需要定义水类、咖啡类等,需要进一步抽象,并添加属性)

或者直接把水、咖啡等写成容器类的私有属性,但感觉这样不太好再修改。
(两个问题不是一起问的,我一开始只考虑了一瓶的情况,只把瓶类作为基类;所以再跟进描述一罐咖啡时要重新修改基类)

二.数据结构:

1.基本概念:数据结构就是研究数据的逻辑结构物理结构以及它们之间相互关系,并对这种结构定义相应的运算,而且确保经过这些运算后所得到的新结构仍然是原来的结构类型。

主要的逻辑结构:数据之间的相互关系。

  • 集合 结构中的数据元素除了同属于一种类型外,别无其他关系(把这个忘了)。
  • 线性结构 数据元素之间一对一的关系
  • 树形结构 数据元素之间一对多的关系
  • 图状结构或网状结构 结构中的数据元素之间存在多对多的关系

2.重点问题了图结构
(网上复制来的一些基本概念,没有引申邻接矩阵和遍历)

  • 图(Graph)是由顶点的有穷非空集合和顶点之间边的集合组成,通常表示为:G(V,E),其中,G表示一个图,V是图G中顶点的集合,E是图G中边的集合。在图中的数据元素,我们称之为顶点(Vertex),顶点集合有穷非空。在图中,任意两个顶点之间都可能有关系,顶点之间的逻辑关系用边来表示,边集可以是空的。

  • 图按照边的有无方向分为无向图和有向图。无向图由顶点和边组成,有向图由顶点和弧构成。弧有弧尾和弧头之分,带箭头一端为弧头。

  • 图按照边或弧的多少分稀疏图和稠密图。如果图中的任意两个顶点之间都存在边叫做完全图,有向的叫有向完全图。若无重复的边或顶点到自身的边则叫简单图。

  • 图中顶点之间有邻接点、依附的概念。无向图顶点的边数叫做度。有向图顶点分为入度和出度。

  • 图上的边或弧带有权则称为网。

  • 图中顶点间存在路径,两顶点存在路径则说明是连通的,如果路径最终回到起始点则称为环,当中不重复的叫简单路径。若任意两顶点都是连通的,则图就是连通图,有向则称为强连通图。图中有子图,若子图极大连通则就是连通分量,有向的则称为强连通分量。

  • 无向图中连通且n个顶点n-1条边称为生成树。有向图中一顶点入度为0其余顶点入度为1的叫有向树。一个有向图由若干棵有向树构成生成森林。

  • 这部分自 Ouyang_Lianjun 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/qq_35644234/article/details/57083107?utm_source=copy

3.双向链表

一个双向链表插入节点,没有要求写代码,只是让说思路。
代码从牛客网上找的

链接:https://www.nowcoder.com/questionTerminal/041cee693bba44519d277286dd062ccd?orderByHotValue=2&pos=14&mutiTagIds=580
来源:牛客网

#include <iostream>

#include <stdio>

#include <stdlib>

template <typename T>

typedef struct ListNode{

    struct ListNode* prio;

    struct ListNode* next;

    T data;

}LISTNODE;

//在一个节点value之后插入节点data

struct ListNode* Insert(ListNode* head,T value,T data){

    ListNode* node=NULL;

    ListNode* node2=NULL;

    if(!head)

        return NULL;

    else{

        node=head;

        while(node->data!=value){

            node=node->next;

        }

        if(node==NULL)

            return NULL;

        else{

            if(node->next){

                node2->prio=node;

                node2->next=node->next;

                node2->data=data;

                node->next=node2;

                node->next->prio=node2;

            }

            else{

                node2->prio=node;

                node2->next=NULL;

                node2->data=data;

                node->next=node2;

            }

        }

    }

    node=head;

    return node;

}

struct ListNode* deleteP(ListNode* head,T data){

    if(head==NULL){

        return NULL;

    }

    else{

        ListNode* node=NULL;

        ListNode* node2=NULL;

        for(node=head;node!=NULL;node=node->next){

            if(node->data==data && node->next!=NULL){

                node->prio->next=node->next;

                node->next->prio=node->prio;

            }

            else if(node->data==data && node->next==NULL){

                node->prio->next=NULL;

            }

            else

                return NULL;

        }

    }

    node=head;

    return head;

}

三.其实面试官还打算问一些网络的问题,但我前两个回答的实在太差,人家也没有必要再问了。

勉强算是面经——1.诺瓦科技相关推荐

  1. 2018年秋招总结(华为,中兴,CVTE,海康威视,百度,诺瓦科技。。。。)

    一· 自我介绍      来自小地方,学校是双非渣本,大学大部分时光靠的是内疚学习法.英语四级没过,挂过科.大概就这样,下面把惨不忍睹的秋招经历给大家分享一波,希望对大家有所帮助. 二·面试经验 我就 ...

  2. 勉强算是面经——3.中软国际

    岗位:C++开发人员 问的很多基础的东西.无奈复习太差实在不行. 开始还是项目 从C++特性开始问起,先引到面向对象. 问题和诺瓦科技问的差不多,先问了继承的概念,接着是多态的概念,重点看你的理解. ...

  3. 2021-08-07诺瓦科技面试

    面试汇总 诺瓦科技面试(2021/8/7) 一.面向对象的是哪个特性 二.final关键字 1.数据 2.方法 3.类 回忆static关键字 三.抽象类与接口 1.抽象类与普通类区别 2. 接口 3 ...

  4. 诺瓦科技2021秋季校园招聘——渤海大学交流群建立啦

    诺瓦科技2021秋季校园招聘 诺瓦科技2021秋季校园招聘--渤海大学交流群建立啦 我是西安诺瓦科技校园招聘2021渤海大学校园大使.我公司是西安市优秀企业,成立于2008年,核心成员来自西安电子科技 ...

  5. 进去springstrap显示无响应_勉强算是比较详细的游戏显示器推荐

    题图,南瓜车资深管理,汤圆女神. 据说颜值和歌声不输给二珂,可以说各擅胜场,但是可以肯定的是,汤圆说话的声音是真的好听,远胜二珂.二珂出席活动的讲话可以在网上找到:至于汤圆的,还记得我的那个散热视频吗 ...

  6. 诺瓦科技秋招嵌入式软件提前批

    目录 一.笔试 二.面试 一.笔试   诺瓦我投递的是提前批,七月底投递的,笔试难度一般,没有固定时间,在规定时间找个时间做完就行了,好像是两个小时(记不清了),考查内容就是C语言,单片,通信协议等等 ...

  7. 诺瓦科技 面经 测试

    一面: 1.自我介绍 2.介绍项目. 3.项目是怎么来的,自己写的还是? 4.具体举一个项目中的测试点. 5.项目中怎末做自动化测试的. 6.除了selenium还了解哪些测试工具. 7.项目兼容性测 ...

  8. 记录下诺瓦科技笔试(软开)

    一共14道,3个算法题,都很简单. 第一个双循环(dp应该也能做),第二个链表拼接,第三个用递归实现快排. https 怎么提高系统性能 一个计算题,计算窗口大小(随便填的) 简述FTP工作流程 FT ...

  9. 诺瓦科技--测试开发工程师(7.12)

    选择 下列选项中属于图像文件的有 () A.tmp B.dot C.tif D.jpg 计算机主机的功能组件有 () A.CPU B.U盘 C.内存 D.打印机 下列选项中,属于视频文件的有 () A ...

  10. 【0725】诺瓦科技java开发笔试题

    一共14道1个小时,其中三道是比较简单的编程题,其余有几道java基础.通信协议.操作系统等. 1.HTTP与HTTPS的区别 参考: https://blog.csdn.net/xiaoming10 ...

最新文章

  1. 游标对于分页存储过程
  2. C 语言编程 — 函数
  3. 学习python需要什么基础-自学python需要什么基础,要掌握哪些知识?
  4. openstack上传镜像失败_制作云window10镜像
  5. python测试框架nose研究_详解Python nose单元测试框架的安装与使用
  6. struts2:JSP页面及Action中获取HTTP参数(parameter)的几种方式
  7. sscanf用法详解-hdu2072
  8. easyUI 展开DataGrid里面的行显示详细信息
  9. plaintextedit指定一行一行的高亮显示_LED显示器常见芯片的作用及原理,故障诊断维修...
  10. 计算机运行时内存会超吗,我们不曾深纠的电脑技术 篇一:我们为什么要对内存进行超频?...
  11. froala 的使用
  12. app测试环境搭建(适用monkey测试及日志分析)
  13. linux中iso文件怎么安装,linux系统安装iso文件方法
  14. C# 操作Word书签(一)插入、删除书签
  15. web 文字描边动画
  16. SIMPACK-学习记录-Doe相关
  17. NullPointerException(空指针异常)
  18. win10下java环境变量设置 不要再错啦
  19. 2021年通州中学高考成绩查询,2021北京通州中考分数线是多少
  20. Bootstrap导航nav

热门文章

  1. HTML+CSS实现个人简历
  2. latex 如何添加圆圈数字?
  3. 产品经理入门知识梳理(含思维导图
  4. UE4/UE5 WebBrowser无法播放直播流的问题
  5. 土壤因子-中国和世界土壤因子数据说明和下载链接
  6. 青春是一场永志的劫数
  7. 桌面软件开发框架大赏
  8. DirectX修复工具增强版
  9. [绍棠] 如何为iOS app添加AirDrop文件分享功能
  10. java webmldn,MLDN李兴华JAVA WEB视频教程(30集)_源雷技术空间