- 个人简要介绍下自己
- 无序查中位数(lgn)
- Linux下详细编译过程(预处理-->编译-->汇编-->优化-->链接)
- 编译中的-o2影响什么
- 进程、线程对比()
- 进程间通讯(共享内存,管道,信号量,消息)
- 线程间通讯(全局变量,message,event)
- TCP/IP连接过程(三次握手以及程序中的步骤两个方面讲解)
- 现场写快排程序
- 认为最成功的一个项目进行介绍
- void指针的含义(万能指针,任何类型指针都可以赋值给void指针,类似memcpy接受的应该就是万能指针)
- memcpy实现(需要考虑覆盖的问题,但是应该不是这个函数需要考虑的问题,memmov才是移动,相当于cut)
- char *是怎么实现的
- const修饰符的含义
char* p = "Hello" //普通指针,#1
char* const p = "Hello" //常指针,const修饰指针p,#2
const char* p = "Hello" //指向常量的指针,const修饰指针所指向的内存, #3
const char* const p = "Hello" //指向常量的常指针,const同时修饰指针以及所指内存 #4 - 返回值的问题
- 找寻二叉树中两个节点的公共父节点中最近的那个节点
- 四个开关,对应四盏灯,进屋一次,要求判断出这四盏灯对应的开关
- 宏的概念,与函数的区别,优缺点的比较(宏占用编译时间,快,但不具备编译阶段的类型检查,函数占用运行时间,具备类型检查,但是效率较低,调用需要额外开销)
- 对linux与windows的理解,两者的优缺点(开源,易用,嵌入式,稳定性,定位,性能)
- 内存的页表的概念,大小,文件系统的block的大小,与页表大小的关系
- 段错误是怎么造成的,为什么会设置段错误这样一个错误(内存管理方面出现故障,出现了非法访问权限以外的内存等等)
- 编程中使用的堆和栈,在程序运行时位于内存的什么位置?(堆,栈,自由变量区,全局变量区,常量区)
- 文件系统中数据块的概念
- linux的问题,要定时执行什么操作,如何设置配置文件?要定时一次执行什么操作,如何设置配置文件?
- 打印当前shell的进程id号,用什么命令或者操作?(echo "$$")
- 算法设计:n个连续自然数,乱序存放于一个数组中,缺失一个,缺失的位置处放置-1,问怎么确定丢失的那个数?
- 操作系统的哲学家就餐问题
- 现在有一个read系统调用,请问这个系统调用在内核中经过了几层?
- 问了一个pci与pci-e的区别,然后又来一个基础的问题,给你一堆序列读写,如何设计你的cache
- 数据库索引有几种方法(聚簇索引,非聚簇索引)
- 各种排序的算法复杂度(排序方法要明白)
- 数据中有10000个数,其中某个数重复率打到50%以上,求快速找出这数的方法
- 静态函数是否可以对非静态变量赋值
- 线程的同步、互斥、加锁
- 虚函数、纯虚函数的作用,多态
- 在Shell环境下,如何查看远程Linux系统运行了多少时间?
- 如果得到随机的字串,长度和字串中出现的字符表可定义,并将字串倒序显示
- http属于网络协议哪层,具体介绍一下。
- n支球队两两进行比赛,胜一场记3分,平1分,负0分,最后两支队伍出线。问最少多少分能保证一定出线,最少多少分可能出线。
- 在百万数量级的文件中查找某个可匹配的关键字,千万个节点的链表的逆序
- 集群
- KMP
- 操作系统有哪些IPC机制?