2018 C++开发工程师面试题大合集(持续更新)

  (一)2018.4 拼多多实习服务端 1、 一个C++源文件从文本到可执行文件经历的过程 对于C/C++编写的程序,从源代码到可执行文件,一般经过下面四个步骤: 1).预处理,产生.ii文件 2).编译,产生汇编文件(.s文件) 3).汇编,产生目标文件(.o或.obj文件) ...

2018-07-19 15:26:16

阅读数:1754

评论数:0

线程

参见:Linux C编程一站式学习     1.线程的概念 我们知道,进程在各自独立的地址空间中运行,进程之间共享数据需要用mmap或者进程间通信机制,本节我们学习如何在一个进程的地址空间中执行多个线程。有些情况需要在一个进程中同时执行多个控制流程,这时候线程就派上了用场,比如实现一个图形...

2018-07-18 15:36:03

阅读数:88

评论数:0

linux最常用的20个命令

转自:https://www.oschina.net/translate/useful-linux-commands-for-newbies?lang=chs&page=2#   1. ls命令 ls命令是列出目录内容(List Directory Contents)...

2018-07-15 09:59:24

阅读数:456

评论数:0

(一)TCP客户端/服务器通信------基础函数篇

1. 客户端和服务器程序流程图 2. 基本TCP套接字编程(1) Socket函数Socket函数:指定期望的协议族(IPv4、IPv6等)和套接字类型(字节流、数据报等),返回套接字描述符(成功时>0的整数) 参数:family:协议族;type:套接字类型;protoco...

2018-07-11 17:47:44

阅读数:178

评论数:0

C++后台面试常考 (C/C++方面)

C++后台面试常考(一)     C/C++方面条款01:说说C++中的多态及其实现条款02:volatile关键字1、 Volatile关键字和const对应。遇到这个关键字声明的变量,编译器对访问该变量的代码就不再进行优化(不再把变量值放入寄存器中),从而可以提供对特殊地址的稳定访问(直接访问...

2018-05-15 15:11:28

阅读数:153

评论数:0

2019界秋招(C++)

  在牛客网讨论区 淘到的某大佬的GitHub,感觉非常棒,受益良多 https://github.com/linw7/Skill-Tree ---------------------------------------------------------------------------...

2018-09-14 17:53:33

阅读数:113

评论数:0

heap(max-heap最大堆、min-heap最小堆)

参考: 《STL源码剖析》   heap概述 heap并不归属于STL容器组件,它是个幕后英雄,扮演priority_queue的助手(底层实现)。所谓binary heap就是一种完全二叉树,也就是说,整颗binary tree除了最底层的叶子节点之外,是填满的,而最底层的叶节点由左至右又...

2018-08-16 10:24:14

阅读数:827

评论数:0

8.15 网易游戏互动娱乐提前批面试(初级游戏研发工程师)

1、笔试(手撕代码) 两道题,半小时。 1)单字符串压缩 : 输入:ABBBCCD , 输出AB3C2D 2)多字符串压缩 输入:AABCABCD,输出A(ABC)2D(暴力写了一半,时间到了) 2、一面 0)自我介绍 1)笔试代码交给面试官。(我介绍了自己代码的思路) 2)多态...

2018-08-15 13:52:44

阅读数:458

评论数:2

C++智能指针

参考:https://www.cnblogs.com/lsgxeva/p/7788061.html   和 《Linux多线程服务端编程》                                                                     C++11——智能...

2018-08-10 21:00:19

阅读数:32

评论数:0

待弄清的知识点

1)如何检测内存泄露 valgrind工具集的memcheck工具 2)线程池 3)智能指针 4)浏览器打开一个链接的全过程 5)fork和vfork,fork做了哪些工作 6)守护进程的创建 背景知识: 守护进程是脱离终端并在后台运行的进程,执行过程中信息不会显示在终...

2018-08-10 10:58:29

阅读数:34

评论数:0

Linux IPC之共享内存

参考: 1)https://blog.csdn.net/ruizeng88/article/details/6702346 2)https://github.com/linw7/Skill-Tree/blob/master/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9...

2018-08-07 14:39:43

阅读数:29

评论数:0

Linux常用命令

gcc -o:指定生成的输出文件; -E:仅执行编译预处理; -S:将C代码转换为汇编代码; -wall:显示警告信息; -c:仅执行编译操作,不进行连接操作。 g++   gdb netstat  ...

2018-08-04 16:01:36

阅读数:23

评论数:0

阿里新零售一面(C++后台开发)

1、自我介绍 2、科研经历(没说太清楚,面试官说下一个话题) 3、说说项目(说了一下华为的软挑和京东的物流优化的比赛) 4、C++基本知识(iphone不太会录音,只记得下面几个问题了) 1)说说static 2)说说多态 3)如何实现多态的 4)虚表和虚表指针 5)什么时候用虚析...

2018-08-03 19:36:38

阅读数:89

评论数:0

二叉搜索树、AVL树、RB-tree(红黑树)

参见:《STL源码剖析》   (一)二叉搜索树 二叉树:一个二叉树如果不为空,便是由一个根节点和左右二叉子树组成。 二叉搜索树:1)是一颗二叉树;2)任何节点的键值一定大于其左子树中的每一个节点的键值,并小于其右子树中的每一个节点的键值。 查找: 插入: 删除: 1)若是叶...

2018-07-24 14:35:57

阅读数:48

评论数:0

基于TCP协议的网络程序

参见:Linux C编程一站式学习   下图是基于TCP协议的客户端/服务器程序的一般流程(该图出自[UNPv13e]): 图 37.2. TCP协议通讯流程   建立连接的过程(该图出自[UNPv13e]): 图 37.3. 建立连接的过程   服务器调用soc...

2018-07-20 10:00:13

阅读数:45

评论数:0

socket编程基础

参见:Linux C编程一站式学习   socket这个词可以表示很多概念: 在TCP/IP协议中,“IP地址+TCP或UDP端口号”唯一标识网络通讯中的一个进程,“IP地址+端口号”就称为socket。 在TCP协议中,建立连接的两个进程各自有一个socket来标识,那么这...

2018-07-19 20:54:58

阅读数:36

评论数:0

TCP/IP协议基础

参见:Linux C编程一站式学习   1. 以太网(RFC 894)帧格式   以太网的帧格式如下所示(该图出自[TCPIP]): 图 36.6. 以太网帧格式   其中的源地址和目的地址是指网卡的硬件地址(也叫MAC地址),长度是48位,是在网卡出厂时固化的。用ifco...

2018-07-19 11:44:36

阅读数:74

评论数:0

TCP/IP协议栈与数据包封装

参见:Linux C编程一站式学习   TCP/IP协议栈与数据包封装 TCP/IP网络协议栈分为应用层(Application)、传输层(Transport)、网络层(Network)和链路层(Link)四层。如下图所示(该图出自[TCPIP])。 图 36.1. TCP/IP协议栈...

2018-07-19 09:12:34

阅读数:41

评论数:0

进程

参见:Linux C编程一站式学习   1.进程控制   1)fork函数:   fork函数的特点概括起来就是“调用一次,返回两次”,在父进程中调用一次,在父进程和子进程中各返回一次。从上图可以看出,一开始是一个控制流程,调用fork之后发生了分叉,变成两个控制流程,这也就是“...

2018-07-18 10:37:30

阅读数:39

评论数:0

信号

  参见:Linux C编程一站式学习   (一)信号的基本概念     为了理解信号,先从我们最熟悉的场景说起: 用户输入命令,在Shell下启动一个前台进程。 用户按下Ctrl-C,这个键盘输入产生一个硬件中断。 如果CPU当前正在执行这个进程的代码,则...

2018-07-16 13:44:25

阅读数:43

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭