`
xiaoheliushuiya
  • 浏览: 401915 次
文章分类
社区版块
存档分类
最新评论

CIeNET、IBM实习笔试总结分析

 
阅读更多

最近三天笔试了两场,一场是CIeNET在南理工的笔试,一场是IBM在南大的笔试。总体而言,基础很重要,准备也很重要,英语的阅读理解能力更重要,因为题目都是用英文描述的。

CIeNET

笔试的时候可以选择技术方向,C、C++、Java。题目不多,十道题,全是主观题,60分钟完成,还好允许用中文回答,要不然说起来会比较费劲,毕竟习惯了使用中文术语。考察的都是基础知识,不难,不过我算裸考的,本以为答的很烂,结果还是收到了面试的通知。这里有个好玩的事情,宣讲会上演讲的是CIeNET负责长三角地区的万女士,她演讲的过程中,提到了“程式”这个词,我当时就猜,她会不会是台湾人,笔试结束后我跑上去一问,哈,果然是,主要是我看了不少侯捷先生翻译的C++经典,几乎每次他都会在序言中列出常用词语翻译对照表和一些不予翻译的词语。呵呵,投机取巧的行为。

C++题目如下,凭记忆写下来的,原题为英文。。

Q1:指针与引用的区别,为什么使用引用更安全?

A:指针与引用都是间接引用其他对象的方法,指针使用操作符*,引用使用操作符&.,指针就是内存中的地址,而引用是对象或变量的别名(事实上引用在更底层也是用指针实现的),指针可以不用初始化,而引用必须初始化,而且一旦初始化就不能被改变另一个对象的引用。指针可以空指向,而并不存在空引用,所以引用更安全。

Q2:给函数形参传递有几种方式?函数返回值又有几种呢?

A:三种,值,引用,指针,返回值也是三种,值,引用,指针

Q3:构造函数可以是虚函数吗?析构函数呢?能否是纯虚函数?

A:在C++中,虚函数的作用是用于实现多态,子类根据相同的调用产生不同的行为,这是运行时多态,实现的核心是虚函数指针与虚函数表,而虚函数表与指针是在构造函数中由C++编译器完成的,所以在C++中构造函数不能是虚函数(虚构造函数这个行为是可以存在的,比如抽象工厂模式);析构函数可以是虚函数,这是为了子类能够正确调用析构函数,完成自身的资源释放操作;析构函数也可以是纯虚函数,这主要出现在抽象类当中,只用作继承。

Q4:定义一下抽象类与虚函数,说明一下各自的主要用途

A:虚函数是面向对象程序设计中的一个重要的概念。当从父类中继承的时候,虚函数和被继承的函数具有相同的签名。但是在运行过程中,运行系统将根据对象的类型,自动地选择适当的具体实现运行。虚函数是面向对象编程实现多态的基本手段。

抽象类被定义为永远不会也不能被实例化为具体的对象。它往往用于定义一种抽象上的概念,在类的继承关系中它往往被定义在较上层的位置。在程序设计的实践活动中,抽象类与接口存在类似的地方,即它更偏重于对共通的方法和属性进行规约。但与接口存在一个非常大的差异则在于,抽象类往往可以规约一个共同的方法和属性时提供一个对他们的实现。

Q5:阅读程序写出结果

A:运行时错误,GetMemory传递的是指针的值,是普通的值传递,所以原来的str并没有改变,还是空指针,对空指针写入数据会发生运行时错误(这个题目很经典,解决方法是,使用指针的指针,使用指针的引用,或者是返回指针值)

Q6:不利用库函数,实现strcpy()函数

A:

Q7:编写一个将二进制转换为十进制的函数

A:懒得写了。。。

Q8:下面是String类的定义,请编写实现

A:

Q8:请使用模板编写一个堆栈的实现

A:



IBM

IBM实习生即BluePathway项目,先得网上投简历,然后经过一轮筛选,再进行笔试。我一看我的编号都8000开外了,汗。。。笔试分为两大部分,第一部分是IPAT,第二部分是技术类,A+C是Java方向,B+C是C++方向。

前一天白天我把《C/C++就业求职手册》突击了二百页,晚上把以前IBM的实习题目做了一遍(网友收集整理的),这样还是有点效果的,至少知道个大概情况。

IPAT又分为三个小部分:13分钟的矩阵题,三道大题,15道小题;4分钟的数字找规律题,好像是20道;15分钟的数学应用题,好像是12道。这一部分考察的最主要就是英语阅读理解能力了,矩阵题我就做了一半,杯具的是我坐在第一排,结果时间一到卷子马上就被收走了,不过最后还是给了一个填答案的机会,囧!。数字找规律,做了剩下个5、6道吧,4分钟时间还是很紧张的。最后数学应用题也有3、4道没做,主要是分数的计算太烦了。时间紧也就算了,恶心的地方在于,第二第三部分答错是要倒扣分的。。

IPAT的考试是考完一部分就收上去,最后的技术类题目时间相对充裕,全是选择题。不过IBM考的很杂:算法的时间复杂度,空间复杂度,C/C++的基础(阅读程序写结果,占了很大一部分比重),Unix的一些概念、命令,UML图与设计模式、浏览器知识,Javascript也考,还是和dom一起,还有xml,网络知识,等等。以至于我现在都想不起来考了什么题目。。

现在只能等消息了。

分享到:
评论

相关推荐

    UPS、蓄电池、空开、电缆配置计算方法.pptx

    5G通信行业、网络优化、通信工程建设资料

    node-v7.4.0.tar.xz

    Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

    Unity mesh减面工具 Mesh Simplify 1.12

    Unity mesh减面工具 Mesh Simplify 1.12

    基于Springboot+Vue酒店客房入住管理系统-毕业源码案例设计.zip

    网络技术和计算机技术发展至今,已经拥有了深厚的理论基础,并在现实中进行了充分运用,尤其是基于计算机运行的软件更是受到各界的关注。加上现在人们已经步入信息时代,所以对于信息的宣传和管理就很关键。系统化是必要的,设计网上系统不仅会节约人力和管理成本,还会安全保存庞大的数据量,对于信息的维护和检索也不需要花费很多时间,非常的便利。 网上系统是在MySQL中建立数据表保存信息,运用SpringBoot框架和Java语言编写。并按照软件设计开发流程进行设计实现。系统具备友好性且功能完善。 网上系统在让售信息规范化的同时,也能及时通过数据输入的有效性规则检测出错误数据,让数据的录入达到准确性的目的,进而提升数据的可靠性,让系统数据的错误率降至最低。 关键词:vue;MySQL;SpringBoot框架 【引流】 Java、Python、Node.js、Spring Boot、Django、Express、MySQL、PostgreSQL、MongoDB、React、Angular、Vue、Bootstrap、Material-UI、Redis、Docker、Kubernetes

    JAVA扫雷游戏程序+源码

    扫雷游戏是一款经典的计算机游戏,它的目标是在一个方格矩阵中找出所有隐藏的地雷。玩家需要通过点击方格来揭示其内容,如果方格中有地雷,则游戏结束;如果没有地雷,则会显示周围8个方格中地雷的数量。玩家需要根据这些信息来判断哪些方格是安全的,并继续点击其他方格。 在JAVA扫雷游戏程序中,我们使用了一个二维数组来表示游戏的方格矩阵。每个方格可以包含以下三种状态之一:未被揭示、有地雷或安全。我们还使用了一些辅助变量来跟踪游戏中的状态,例如已揭示的方格数量和剩余的地雷数量。 当玩家点击一个方格时,程序会检查该方格是否已经被揭示。如果是,则不做任何操作;否则,程序会揭示该方格的内容,并根据其是否包含地雷来更新游戏状态。如果方格中有地雷,则游戏结束;否则,程序会递归地揭示周围的方格,直到遇到已经揭示的方格为止。 为了提高游戏的可玩性,我们可以添加一些额外的功能,例如计时器、难度级别选择和自定义方格大小等。此外,我们还可以使用图形用户界面(GUI)来美化游戏界面,使其更加友好和易于操作。

    python-3.8.19-amd64-full.exe

    仅供个人娱乐使用,不要乱用造成侵权,搬运自git删hub.co除m/ad中ang1345/Pyt文honW部ind分ows

    网络安全网络安全视频教程56讲全在线地址.txt

    【网络安全】网络安全视频教程56讲全在线地址.txt

    299-企业数字化转型方案20220804.pptx

    299-企业数字化转型方案20220804.pptx

    参考资料-人工智能对劳动力市场的影响机制研究.pdf

    参考资料-人工智能对劳动力市场的影响机制研究.pdf

    3D Facial Expressions

    3D Facial Expressions through Analysis-by-Neural-Synthesis

    AI设计工具-美图设计室:一键生成海报宣传画.txt

    AI设计工具-美图设计室:一键生成海报宣传画

    node-v10.12.0-linux-armv6l.tar.gz

    Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

    基于Springboot+Vue的商业辅助决策系统的设计与实现-毕业源码案例设计.zip

    网络技术和计算机技术发展至今,已经拥有了深厚的理论基础,并在现实中进行了充分运用,尤其是基于计算机运行的软件更是受到各界的关注。加上现在人们已经步入信息时代,所以对于信息的宣传和管理就很关键。系统化是必要的,设计网上系统不仅会节约人力和管理成本,还会安全保存庞大的数据量,对于信息的维护和检索也不需要花费很多时间,非常的便利。 网上系统是在MySQL中建立数据表保存信息,运用SpringBoot框架和Java语言编写。并按照软件设计开发流程进行设计实现。系统具备友好性且功能完善。 网上系统在让售信息规范化的同时,也能及时通过数据输入的有效性规则检测出错误数据,让数据的录入达到准确性的目的,进而提升数据的可靠性,让系统数据的错误率降至最低。 关键词:vue;MySQL;SpringBoot框架 【引流】 Java、Python、Node.js、Spring Boot、Django、Express、MySQL、PostgreSQL、MongoDB、React、Angular、Vue、Bootstrap、Material-UI、Redis、Docker、Kubernetes

    5MHz 函数发生器使用说明书

    5MHz 函数发生器使用说明书

    大学生就业平台微信小程序+ssm后端毕业源码案例设计.zip

    网络技术和计算机技术发展至今,已经拥有了深厚的理论基础,并在现实中进行了充分运用,尤其是基于计算机运行的软件更是受到各界的关注。加上现在人们已经步入信息时代,所以对于信息的宣传和管理就很关键。系统化是必要的,设计网上系统不仅会节约人力和管理成本,还会安全保存庞大的数据量,对于信息的维护和检索也不需要花费很多时间,非常的便利。 网上系统是在MySQL中建立数据表保存信息,运用SpringBoot框架和Java语言编写。并按照软件设计开发流程进行设计实现。系统具备友好性且功能完善。 网上系统在让售信息规范化的同时,也能及时通过数据输入的有效性规则检测出错误数据,让数据的录入达到准确性的目的,进而提升数据的可靠性,让系统数据的错误率降至最低。 关键词:vue;MySQL;SpringBoot框架 【引流】 Java、Python、Node.js、Spring Boot、Django、Express、MySQL、PostgreSQL、MongoDB、React、Angular、Vue、Bootstrap、Material-UI、Redis、Docker、Kubernetes

    通信驻地网施工组织方案.doc

    5G通信、网络优化与通信建设

    管道顶管工程施工技术.doc

    5G通信、网络优化与通信建设

    Unity 穿墙挖洞-CSG

    Unity 穿墙挖洞——CSG

    基于Python的医院挂号系统带vue前后端分离毕业源码案例设计.zip

    网络技术和计算机技术发展至今,已经拥有了深厚的理论基础,并在现实中进行了充分运用,尤其是基于计算机运行的软件更是受到各界的关注。加上现在人们已经步入信息时代,所以对于信息的宣传和管理就很关键。系统化是必要的,设计网上系统不仅会节约人力和管理成本,还会安全保存庞大的数据量,对于信息的维护和检索也不需要花费很多时间,非常的便利。 网上系统是在MySQL中建立数据表保存信息,运用SpringBoot框架和Java语言编写。并按照软件设计开发流程进行设计实现。系统具备友好性且功能完善。 网上系统在让售信息规范化的同时,也能及时通过数据输入的有效性规则检测出错误数据,让数据的录入达到准确性的目的,进而提升数据的可靠性,让系统数据的错误率降至最低。 关键词:vue;MySQL;SpringBoot框架 【引流】 Java、Python、Node.js、Spring Boot、Django、Express、MySQL、PostgreSQL、MongoDB、React、Angular、Vue、Bootstrap、Material-UI、Redis、Docker、Kubernetes

    199-实时数据仓库建设体系.pdf

    199-实时数据仓库建设体系.pdf

Global site tag (gtag.js) - Google Analytics