Interview
文章平均质量分 96
阿卡基-马
业余马拉松选手
展开
-
面试系列之指针和引用的使用场景
先抛出两个问题: 指针和引用有什么区别? 什么时候应该使用指针?什么时候应该使用引用? 01 指针和引用的区别首先看一段代码:int a = 1;int b = 2;int *c = nullptr;c = &a;int &d = b;指针其实就是一个存放内存地址的整数,这个整数表示的是被指向的变量的地址。引用其实就是变量的别名,就是给变量重新起了一个名字,注意引用既然是个别名,那它一定要有本体,一个人叫王二小,我们也可以给它起个别名叫二蛋.转载 2020-08-19 15:21:19 · 628 阅读 · 0 评论 -
pFun = ( Fun )*( ( int* ) * ( int* )( &b ) + i )
typedef void( *Fun )( void ); //是吧Fun定义为一个没有参数,返回void类型的函数指针*( ( int* ) * ( int* )( &b ) + i )这一段,(int*)*相当于没有进行任何操作,所以等同于*( ( int* )( &b ) + i )这里先取b的地址,然后把地址转换成int*,之后+i是指针算术,也就是在b的地址上加一个int的长度,最后最前面的*是解指针,座椅这段最后返回的是“b的地址+i个int长度的值”最前面的(Fun)原创 2020-08-19 11:22:00 · 1125 阅读 · 0 评论 -
C++ 面试题
首先郑重声明,这些面试题的答案都是参考网上的答案和自己理解的部分整合起来,如有错误,欢迎指针。1 多态的实现存在虚函数的类至少有一个(多继承会有多个)一维的虚函数表叫做虚表(virtual table),属于类成员,虚表的元素值是虚函数的入口地址,在编译时就已经为其在数据端分配了空间。编译器另外还为每个类的对象提供一个虚表指针(vptr),指向虚表入口地址,属于对象成员。在实例化派...原创 2020-02-19 15:16:20 · 826 阅读 · 0 评论 -
c++常见面试题30道(有答案)
1.new、delete、malloc、free关系delete会调用对象的析构函数,和new对应free只会释放内存,new调用构造函数。malloc与free是C++/C语言的标准库函数,new/delete是C++的运算符。它们都可用于申请动态内存和释放内存。对于非内部数据类型的对象而言,光用maloc/free无法满足动态对象的要求。对象在创建的同时要自动执行构造函数,对象在消亡之前要自动执行析构函数。由于malloc/free是库函数而不是运算符,不在编译器控制权限之内,不能够把执行构造函数和原创 2020-08-11 16:29:35 · 8625 阅读 · 0 评论 -
C++三种容器:list、vector和deque的区别
在写C++程序的时候会发现STL是一个不错的东西,减少了代码量,使代码的复用率大大提高,减轻了程序猿的负担。还有一个就是容器,你会发现要是自己写一个链表、队列,或者是数组的时候,既要花时间还要操心怎么去维护,里面的指针啊,内存够不够用啊,长度问题,有没有可能溢出啊等等一系列的问题等着我们去解决,还是比较头疼的。所以容器的出现解决了这一个问题,它将这些数据结构都封装成了一个类,只需要加上头文件,我们就可以轻松的应用,不用那么复杂,就连指针也被封装成了迭代器,用起来更方便,更人性化,方便了我们的编程,对于程序员转载 2020-08-10 09:29:26 · 1183 阅读 · 0 评论 -
【面试题库】剑指Offer
相爱相杀好基友——数组与链表原创 2020-04-30 09:17:25 · 249 阅读 · 0 评论 -
堆与堆排序与topK问题
电面的时候问了经典的topK问题,没准备到被问了个措不及防,现在把相关知识点记录下来。 假设我们有一些数据,需要按照某种关键字求出这些数据中最小(大)的K个数,即求出这些数据的topK。 当数据量较小的时候,一个简单的想法是直接对数据进行排序,然后取最前面的K个数据;但是当数据量较大,数据无法一次性放入内存的时候应该怎么办呢? 这时候就需要借助堆这种数据结构。堆通常是一个可以被看做一棵树的数组...转载 2018-11-23 11:27:24 · 636 阅读 · 0 评论 -
嵌入式工程师笔试题目(1)
嵌入式工程师对于工作来说最重要的就是面试+笔试了,作为一个面试过很多家的老鸟来说,总结了一些嵌入式工程师经典笔试题,而且也是很厂家的,快看看你都掌握了没1.给两个变量,如何找出一个带环单链表中是什么地方出现环的?一个递增一,一个递增二,他们指向同一个接点时就是环出现的地方1)。.堆栈溢出一般是由什么原因导致的?没有回收垃圾资源3).不能做switch()的参数类型是:swit...原创 2018-08-16 09:38:18 · 6283 阅读 · 0 评论 -
考一考!嵌入式C面试题3道
题一:关键字volatile在编译时有什么含义?并给出三个不同使用场景的例子(可以伪代码或者文字描述)。思考过后,再到下方寻找答案 题二:C语言中static关键字的具体作用有哪些 ?思考过后,再到下方寻找答案 题三:请问下面三种变量声明有何区别?请给出具体含义int const *p;int* const p;int const* const p;思...转载 2018-08-03 14:20:49 · 583 阅读 · 0 评论 -
嵌入式linux系统下简单守护进程(daemon)的编写 【面试—守护进程】
原文地址最近公司项目需要,需要在我们的嵌入式linux设备中创建一个守护进程,用于保护系统中的主进程,防止某些不可预期的意外导致主进程异常结束后,系统完全宕机没有任何反应,破坏用户体验感。但是,查阅诸多资料之后发现,大部分人都只讲述了如何在x86平台上创建和实现守护进程,而并没有人介绍过如何在嵌入式平台上创建和实现守护进程。于是,经过一番摸索之后,从原理到代码,都进行了一些大致的了解,我自己提...转载 2018-08-07 15:29:03 · 1539 阅读 · 0 评论 -
2018年年初的面试经验谈
说下我的面试经验吧,都是亲身经历,不喜勿喷:我去年12月份从上一家公司离职,一直到今年3月份,基本上都在面试中度过来的。先交代下背景:坐标上海,做技术开发,我本人面试的职位是linux服务器开发,最倾向的职位是服务器开发主程或技术经理。我本人也是上几家公司的面试官,因为接下来几年面临着成家养小孩,技术上也到了瓶颈期,虽然拿了不少offer,但是想综合比对一下,于是就参加了很多的面试。我先后去了...转载 2018-08-07 13:46:45 · 1428 阅读 · 2 评论 -
腾讯后台开发面试题及答案
简单归纳:fd只是一个整数,在open时产生。起到一个索引的作用,进程通过PCB中的文件描述符表找到该fd所指向的文件指针filp。文件描述符的操作(如: open)返回的是一个文件描述符,内核会在每个进程空间中维护一个文件描述符表, 所有打开的文件都将通过此表中的文件描述符来引用; 而流(如: fopen)返回的是一个FILE结构指针, FILE结构是包含有文件描述符的,FILE结构函数可...转载 2018-07-18 16:26:20 · 5776 阅读 · 0 评论 -
【转】阿里巴巴社招内推
内推阿里巴巴社招内推,感兴趣的可以联系我或者直接将简历&内推岗位链接发到我邮箱。岗位选择https://job.alibaba.com/zhaopin/positionList.htm 邮箱:shanchun.hsc@alibaba-inc.com 。或者加本人微信私聊(注意备注加微信原因,否则会拒绝) 版权声明:欢迎转载,如有不足之处,恳请斧正。 https://blog.csdn.ne...转载 2018-07-12 17:09:47 · 2233 阅读 · 1 评论 -
【Interview###】华为、中兴嵌入式(C)笔试题
【程序员面试宝典】1读程序段,回答问题(a)int main(int argc,char *argv[]){int c=9,d=0;c=c++%5;d=c;printf("d=%d\n",d);return 0;}a)写出程序输出b)在一个可移植的系统中这种表达式是否存在风险?why?答案:5存在风险,因为c=c++%5;这个表达式对c有两次修改,行为...原创 2018-08-06 08:40:40 · 11827 阅读 · 0 评论 -
华为--嵌入式软件工程师面试题汇总
(1)什么是预编译,何时需要预编译:答案:1、总是使用不经常改动的大型代码体。2、程序由多个模块组成,所有模块都使用一组标准的包含文件和相同的编译选项。在这种情况下,可以将所有包含文件预编译为一个预编译头。 预编译指令指示了在程序正式编译前就由编译器进行的操作,可以放在程序中的任何位置。(2)char * constp char const * p const...转载 2018-08-06 15:02:16 · 659 阅读 · 0 评论 -
【嵌入式基础】2019大疆嵌入式笔试题A卷(附超详细解答)
原文地址前不久的大疆嵌入式线上笔试,可能是因为最近只是在做毕设项目,还没有来得及认真系统复习,直接崩了。就凭借着记忆,把一些记得住的笔试题分享一下,作下记录。整个大疆嵌入式线上笔试,分为选择题(单选题、多选题)、填空题、简答题、编程题。也没有将所有的题目都记得,就分成填空选择题、简答题和编程题三块来介绍吧。 填空选择题1、ARM指令和Thumb指令。(选择题)解答:在ARM...转载 2018-08-06 18:51:42 · 7698 阅读 · 1 评论 -
嵌入式工程师笔试题目(2)
从CSDN各个博客上摘选的一些容易做错的嵌入式软件的笔试题,做一下记录,让自己记住。文章转自:嵌入式经典面试题。1、用预处理指令#define 声明一个常数,用以表明1年中有多少秒(忽略闰年问题)解答:这一题主要容易错的地方就是:意识到这个表达式将使一个16位机的整型数溢出,因此要用到长整型符号L,告诉编译器这个常数是的长整型数。 #define SECONDS_PER_Y...原创 2018-08-06 21:06:16 · 11184 阅读 · 0 评论 -
软件研发和嵌入式软件研发面试经历
今年的就业形式不太好,在过去的两个月,一直处于奔波的状态。今天总算把自己签了出去。首先,要感谢家人、朋友和老师的鼓励和帮助。对自己的面试经历理了理,过去两个月,居然面了多达14家公司。不做统计,不知道有多么悲催,呵呵。这篇文章,是对自己面试的一个总结,主要包含面试中问的问题,以及自己失误的地方。第1家,是PPS-上海众源网络,嵌入式开发工程师笔试过后,获得了面试机会,PPS总共2面。第一面...转载 2018-08-07 09:27:23 · 1047 阅读 · 0 评论 -
软件生命周期的六个阶段
软件的生命周期,亦称软件的生存周期。它是按开发软件的规模和复杂程度,从时间上把软件开发的整个过程(从计划开发开始到软件报废为止的整个历史阶段)进行分解,形成相对独立的几个阶段,每个阶段又分解成几个具体的任务,然后按规定顺序依次完成各阶段的任务并规定一套标准的文档作为各个阶段的开发成果,最后生产出高质量的软件。1、问题的定义及规划此阶段是软件开发方与需求方共同讨论,主要确定软件的开发目标及其可行...原创 2018-06-21 08:48:06 · 5784 阅读 · 0 评论