面试题目
willinux
github地址:https://github.com/stephenix
展开
-
C++ 类静态成员变量存取出错 undefined reference to ‘xxx‘
刚开始用C++写程序,遇到了一个很奇怪的问题,就是在类定义的面定义了一个静态成员变量,但在使用时编译器报错称变量不是类的成员。文件a.h内容:#define A_H class A { static int num1; int num2; A(); } #endif 文件a.c内容:#include "a.h" void A::A() { num2=1;//正确 num1=2;//报错 } 编译转载 2020-08-14 16:39:03 · 1180 阅读 · 0 评论 -
C语言面试题目
https://cloud.tencent.com/developer/article/1637948转载 2020-08-05 19:40:38 · 165 阅读 · 0 评论 -
http和https的区别
http和https的区别https://cloud.tencent.com/developer/article/1381270转载 2020-07-30 11:58:42 · 123 阅读 · 0 评论 -
手写库函数
手写strcpy、memcpy、memmove、strcat、strcmpstrcpy、strncpy都不安全,有strcpy_s安全版本1.strcpy不仅会复制字符串内容,且会复制字符串结尾符char* strcpy(char* dest, const char* src) { if (src == NULL || dest == NULL) return NULL; char...原创 2019-03-04 22:28:28 · 357 阅读 · 0 评论 -
TCP/IP的三次握手和四次挥手
TCP/IP的三次握手和四次挥手server端和client端资源状态一致性时,在思考是否可以采用类似于三次握手的情况来做,可能代价会高,但可以捎带确认。前言TCP报文格式图: 上图中有几个字段需要重点介绍下: (1)序号:Seq序号,占32位,用来标识从TCP源端向目的端发送的字节流,发起方发送数据时对此进行标记。 (2)确认序号:Ack序号,占32位,原创 2015-07-05 21:26:53 · 707 阅读 · 0 评论 -
2015年某光笔试
笔试曙光今天参加笔试曙光,突然发现有些知识点掌握的不够牢固,有些是含含糊糊,没有那么清晰,于是今天先记录一下,这个月补充一下。后面是笔试freewheel的部分题目1. 取偏移地址取结构体中某一数据成员的偏移地址,这在内核里经常遇到,也曾经写过总结。#include<stdio.h>typedef struct ext{ int a; unsigned short b; c原创 2015-10-20 22:18:07 · 775 阅读 · 0 评论 -
C/C++ 常见面试题目 (一)
C/C++ 常见面试题目常见的题目,不一定用过,但一定要知道。1. C语言中C程序运行时的内存分配机制C程序使用的是用户的内存空间,区别于内核的内存空间,再细就到内核态和用户态了。用户的内存空间可以分为三个部分: (1)程序区: (2)静态存储区: (3)动态存储区: 程序区用来存放C程序运行代码;静态存储区用来存放静态变量,如全局变量存放在静态存储区,在程序开始执行时给全局变量分配存储区,原创 2015-07-30 22:39:43 · 1903 阅读 · 0 评论 -
僵尸进程 孤儿进程
僵尸进程 孤儿进程面试某拥抱公司,被问到僵尸进程、孤儿进程,之前看到过这个概念,可惜当时没有深入去理解,仅仅是一闪而过,今天来深入理解一下。什么是进程进程和程序的区别是: (1)程序是一个代码指令和数据的集合,这些指令和数据存储在磁盘上的一个可执行镜像中,所以程序是一个静态的实体(可执行镜像是一个可执行文件的内容,源程序经过编译、连接成一个可执行文件后才能运行); (2)进程是处于执行期的程序,转载 2015-09-16 21:29:59 · 552 阅读 · 0 评论 -
KMP算法原理
KMPKMP,是字符串的模式匹配算法,利用已经得到的信息,不需要回溯,所以比暴力解法效率高。关键是求next数组,也有称为前缀数组,那next数组是什么含义。 不需要回溯指的是:主串s的指针i不需要回溯。1. next数组next数组含义如:next[j] = k 当模式串p的第j个字符与主串s中第i个字符不匹配时,主串s的指针i不变,模式串p中的指针j退到next[j]指向的位置k,重新进行比原创 2015-07-28 22:21:18 · 624 阅读 · 0 评论 -
在浏览器中输入一个网址,解析其背后发生的故事
在浏览器中输入一个网址,解析其背后发生的故事很多公司都喜欢问这个问题,当初考研时也会问到这个问题,所以浅层次地总结一下。1. http协议 URL在浏览器中输入一个网址,比如http://www.google.com,应用层的http协议,这里可以想到OSI七层参考模型和TCP/IP四层分别都是哪些层。 http协议本身是无连接的,但http使用了面向连接的TCP作为运输层协议,保证了数据的可靠传原创 2015-08-19 14:49:20 · 1835 阅读 · 2 评论 -
C++ 常见面试题目 (二)
C++ 常见面试题目 (二)C++ STL中vector、hashmap等,很多公司面试官会问这些是怎么实现的。1. vector的实现《STL源码剖析》书上的原话: vector的数据安排以及操作方式,与array非常相似,两者的唯一区别是空间运用的灵活性。array是静态空间,一旦配置了就不能改变;vector是动态空间,随着元素的加入,它的内部机制会自行扩充空间以容纳新元素。因此,vecto原创 2015-08-02 16:38:51 · 712 阅读 · 0 评论 -
计算机网络
计算机网络发现面试时问的网络相关的问题挺多的,所以在此总结一下。还有的话,接着补充。1. 网络中的OSI参考模型的七层OSI:open system interconnet 开放系统互连参考模型 从低到高依次是:物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。 物理层:物理层并不是物理媒体本身,它只是开放系统中利用物理媒体实现物理连接的功能描述和执行连接的规程; (百度百科)2.原创 2015-07-20 11:58:10 · 487 阅读 · 0 评论 -
KMP算法应用
KMP算法应用题目描述: 给定一个字符串,求其中出现重复的任意一个字符?再求其中最长的重复子串?题目分析: 如果明白KMP原理,明白next数组next[j]=k的具体含义,这样的题目可以用next数组来求解。next[j]=k,表示在模式串p中第j个字符前有长度为k的相同前缀和后缀。相同的前缀和后缀就是重复子串。1. 求其中出现重复的任意一个字符思路1: 先求next数组,next[j]=k原创 2015-07-29 20:38:14 · 1886 阅读 · 0 评论 -
8种排序算法比较
8种排序算法比较排序算法有以下8种: 1. 直接插入排序 2. shell排序 3. 直接选择排序 4. 堆排序 5. 冒泡排序 6. 快速排序 7. 归并排序 8. 基数排序分别从用到的思想,时间复杂度,空间复杂度,稳定性,内部或外部排序,原地排序对比分析。 推荐一个挺好的排序网站:http://www.sorting-algorithms.com前言先介绍下时间原创 2015-08-10 15:43:26 · 1348 阅读 · 0 评论