《程序员面试宝典》中的一些面试题
文章目录
- 面试题1--->编程风格问题
- 面试题2--->不用if等判断语句找出两个数中间较大的那个
- 面试题3--->写一个交换两个数据的宏
- 面试题4--->写一个宏返回两个数据中较小的那个
- 面试题5--->char *和char []的区别
- 面试题6--->临界区,互斥量,信号量的区别
- 面试题7--->网络中常见的ping命令属于什么协议?
面试题1—>编程风格问题
// 方式1
if ('A' == a){a++
}
// 方式2
if (a == 'A'){a++
}
第一种方式比较好一些,因为有时候会把“==”误写成“=”,编译器不允许对常量赋值,所以会在编译的时候就报告错误。
// 方式1
for (int i = 1; i < vec.size(); ++i)
// 方式2
int sz = vec.size();
for (int i = 1; i < sz; ++i)
第二种方式比较好一些,不需要重复计算vec.size()。
面试题2—>不用if等判断语句找出两个数中间较大的那个
int max = ( (a + b) + abs(a-b) ) / 2;
面试题3—>写一个交换两个数据的宏
#define swap(a,b) \
{char tmpbuf[10];
memcpy(tmpbuf, &a, sizeof(a));
memcpy(&a, &b, sizeof(b));
memcpy(&b, tmpbuf, sizeof(tmpbuf));
}
面试题4—>写一个宏返回两个数据中较小的那个
#define MIN(a,b) ( (a) <= (b) ? (a) : (b) )
面试题5—>char *和char []的区别
#include<iostream>
using namespace std;
int main()
{char str1[] = "Hello world";char str2[] = "Hello world"; // 这里开辟了两处空间,所以不相等if (str1 != str2)cout << "str1和str2不相等" << endl;char *p1 = "Hello world";char *p2 = "Hello world"; // 这里指向相同的字符串。该字符串只用了一个地址if (p1 == p2)cout << "p1和p2相等" << endl;return 0;
}
char str[]这里单独的str表示的是一个char类型的数组指针,该指针所指向的数组内容是保存在栈上面的,是可以修改的。而char *str是一个字符串指针,这个指针指向的是字符串第一个字符的地址,而这个指针存在栈上,但是字符串的内容并不在栈里面,而在字符常量区域里面储存。
面试题6—>临界区,互斥量,信号量的区别
临界区:同一个进程内的线程实现互斥,但无法实现同步,因为其具有“线程所有权”。
互斥量:可以跨进程实现互斥。
信号量:用来实现同步也可以用来实现互斥,可以跨进程。
面试题7—>网络中常见的ping命令属于什么协议?
ICMP是“Internet Control Message Ptotocol”(Internet控制消息协议)的缩写。它是TCP/IP协议族的一个子协议,用于在IP主机、路由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。这些控制消息尽管并不传输用户数据,可是对于用户数据的传递起着关键的数据。
在网络中常常会使用到ICMP协议。比如用于检查网络通不通的ping命令,这个ping的过程实际上就是ICMP协议工作的过程。还有跟踪路由的trancert命令也是基于ICMP协议的。
ping.exe的原理:向指定的IP地址发送一定长度的数据包。依照约定,若指定IP地址存在的话,会返回相同大小的数据包。当然,若在特定时间内没有返回,就是“超时”,会被觉得指定的IP地址不存在。因为ping使用的是ICMP协议,有些防火墙软件会屏蔽ICMP协议,所以有时候ping的结果仅仅能作为參考,ping不通并不一定说明对方IP不存在。
《程序员面试宝典》中的一些面试题相关推荐
- C#与.NET程序员面试宝典 2.1.6 面试题6:C#中的托管代码是什么
托管代码是.NET框架中比较重要的一个概念,这类问题经常出现在技术类的笔试题目中,本小节将向读者解释什么是托管代码. [出现频率]★★★★★ [关键考点] 托管代码(Managed Code) 托管代 ...
- java只会用不知道原理6_程序员面试宝典之14道初级Java面试题分享
程序员面试宝典之14道初级Java面试题分享 程序员面试宝典之14道初级Java面试题分享! 关于赢在面试的Java题系列基本收集整理完成了,所有题目都是经过精心挑选的,很基础又考验求职者的基本功,应 ...
- 《程序员面试宝典》精华 底层部分
<程序员面试宝典>精华 底层部分 正所谓取其精华,去其糟粕.本文谨记录下<程序员面试宝典>一些关键的知识点.易错点,对于一些虽然重要但书中没有解释清楚的地方不做记录.书里是没有 ...
- 《程序员面试宝典》精华 面向对象部分
<程序员面试宝典>精华 面向对象部分 正所谓取其精华,去其糟粕.本文谨记录下<程序员面试宝典>一些关键的知识点.易错点,对于一些虽然重要但书中没有解释清楚的地方不做记录.书里是 ...
- 《程序员面试宝典》精华 编程语言部分
<程序员面试宝典>精华 编程语言部分 正所谓取其精华,去其糟粕.本文谨记录下<程序员面试宝典>一些关键的知识点.易错点,对于一些虽然重要但书中没有解释清楚的地方不做记录.当然这 ...
- ASP.NET的几个试题(《C#与.NET程序员面试宝典》)
更多参考:博客园笔记 面试题1:ASP.NET是什么 ASP.NET不是一种语言,而是创建动态Web页的一种强大的服务器端技术,它是Microsoft.NET Framework中一套用于生成Web应 ...
- 金九银十北漂记第2篇:《Java程序员面试宝典》读书笔记
尽信书,则不如无书.-–孟子 谈一谈这本书 <Java程序员面试宝典>是我接触的第一本讲解面试相关的书籍在看到这本书之前我就经常逛csdn的bbs,已经接触面试之类的知识.不过这本书还是 ...
- 程序员面试宝典笔记1-基本概念预处理,const与sizeof
程序员面试宝典笔记1-基本概念&预处理,const与sizeof 基本概念 赋值语句: i++: 类型转换 运算符问题 a,b交换与比较 其他 预处理 const sizeof 基本概念 赋值 ...
- 程序员面试宝典(第4版)
<程序员面试宝典(第4版)> 基本信息 作者: 欧立奇 刘洋 段韬 出版社:电子工业出版社 ISBN:9787121207242 上架时间:2013-7-8 出版日期:2013 年7月 开 ...
- Java程序员面试宝典
第1部分 求职过程 古人云:凡事预则立,不预则废.机会都是垂青有准备的人的.为了得到一份满意的工作,大家一定要对整个求职过程有清醒的了解.把能够预见的.必须做的事情早一些做完,这样在大规模招聘开始的 ...
最新文章
- php+curl+restapi,php – cURL适用于我的REST API,但不是Guzzle
- 【Windows 逆向】OD 调试器工具 ( OD 附加进程 | OD 调试器面板简介 | 反汇编窗口 | 寄存器窗口 | 数据窗口 | 堆栈窗口 )
- 使用Transact-SQL进行数据导入导出方法详解
- EVC4.0 PPC2003 Emulator 转中文版
- linux 4t磁盘格式化,centos格式化大于2T的硬盘
- DelphiXE下的字符串变化
- “滤镜景点”太坑遭吐槽!小红书致歉:将推出景区踩坑榜
- Arrays工具类和二维数组
- python 驱动级鼠标_罗技各系鼠标测评(2020年12月更新)
- ios 横竖屏切换总结
- HDU2109 Fighting for HDU【排序】
- 服务器技术的发展方向
- python实现千牛客服自动回复语_千牛自动回复话术
- 深入理解Java虚拟机到底是什么
- 如何帮助公司设计一个优秀的品牌标志?
- 【UV打印机】PrintExp打印软件教程(五)-高级
- 今日头条自媒体搬运原创视频批量去水印消重包推荐0基础教程如何快速找素材进行伪原创-自媒体爆文之如...
- 大咖集结,共创生态|AIOps社区专家团正式集结出道
- delphi控件使用
- 腾讯云DevOps流水线的应用与实践
热门文章
- 用html 数据库登陆界面设计,登录界面代码_登录界面设计代码_vs登录界面代码-Guide信息网...
- 信息系统项目管理笔记
- 医院药品管理系统源码 HIS系统源码
- 《集体智慧编程》第8章 构建价格模型 个人笔记
- 操作系统原理实验(五) 内存管理
- 打印流(PrintStream)_概述和使用
- 木材材积表快速计算器_木材材积表快速计算器
- AI智能电话机器人源码搭建的原理与功能
- 三菱modbusRTU通讯实例_PLC编程入门梯形图实例讲解
- VS2017使用github