随笔分类 -  面试

尾递归与Continuation
摘要:怎样在不消除递归的情况下防止栈溢出?(无论如何都要使用递归) 这几天恰好和朋友谈起了递归,忽然发现不少朋友对于“尾递归”的概念比较模糊,网上搜索一番也没有发现讲解地完整详细的资料,于是写了这么一篇文章,权当一次互联网资料的补充。 递归与尾递归 关于递归操作,相信大家都已经不陌生。简单地说,一个函数直 阅读全文

posted @ 2018-02-23 10:44 AlanTu 阅读(370) 评论(0) 推荐(0) 编辑

Linux驱动面试题总结
摘要:1、 Linux设备中字符设备与块设备有什么主要的区别?请分别列举一些实际的设备说出它们是属于哪一类设备。 字符设备:字符设备是个能够像字节流(类似文件)一样被访问的设备,由字符设备驱动程序来实现这种特性。字符设备驱动程序通常至少实现open,close,read和write系统调用。字符终端、串口 阅读全文

posted @ 2018-02-23 10:32 AlanTu 阅读(10694) 评论(0) 推荐(1) 编辑

三十道linux内核面试题
摘要:1. Linux中主要有哪几种内核锁? Linux的同步机制从2.0到2.6以来不断发展完善。从最初的原子操作,到后来的信号量,从大内核锁到今天的自旋锁。这些同步机制的发展伴随Linux从单处理器到对称多处理器的过渡;伴随着从非抢占内核到抢占内核的过度。Linux的锁机制越来越有效,也越来越复杂。 阅读全文

posted @ 2018-02-23 10:31 AlanTu 阅读(18522) 评论(0) 推荐(1) 编辑

三大文本处理工具grep、sed及awk的简单介绍
摘要:grep、sed和awk都是文本处理工具,虽然都是文本处理工具单却都有各自的优缺点,一种文本处理命令是不能被另一个完全替换的,否则也不会出现三个文本处理命令了。只不过,相比较而言,sed和awk功能更强大而已,且已独立成一种语言来介绍。 grep:文本过滤器,如果仅仅是过滤文本,可使用grep,其效 阅读全文

posted @ 2018-02-23 10:08 AlanTu 阅读(859) 评论(0) 推荐(0) 编辑

作为应聘者 面试结束时应该问面试官一些什么问题呢
摘要:几乎所有的面试在结束时候都会留一些时间给应聘者来提问问题,不少应聘者都以没有问题来结束了整个面试过程,其实我感觉这个提问时间还是大有用处的,正确的问一些问题不但能让你对雇主有更好的了解,更有可能为你的面试加分甚至影响面试结果。那到底应该问一些什么问题呢?以下是我个人的一点意见,希望能给大家有所帮助。 阅读全文

posted @ 2018-02-23 10:07 AlanTu 阅读(1767) 评论(0) 推荐(0) 编辑

二叉树中常见的面试题
摘要:1 用一个函数判断一棵树是否平衡 题目:实现一个函数检查一棵树是否平衡。对于这个问题而言, 平衡指的是这棵树任意两个叶子结点到根结点的距离之差不大于1。 注意,对于这道题,要审清题意。它并不是让你判断一棵树是否为平衡二叉树。平衡二叉树的定义为:它是一棵空树或它的左右两个子树的高度差的绝对值不超过1, 阅读全文

posted @ 2018-02-23 10:05 AlanTu 阅读(11498) 评论(0) 推荐(0) 编辑

指针辨析:悬垂指针、哑指针、野指针、智能指针
摘要:悬垂指针: 1:提出的原因: 请看下面的代码片段: 输出结果为: 得出结论:第二段程序中,由于fun()函数中的临时变量被销毁,故第二次输出时,p已经成为悬垂指针。 2:定义 指向曾经存在的对象,但该对象已经不再存在了,此类指针称为垂悬指针。结果未定义,往往导致程序错误,而且难以检测。 3:解决策略 阅读全文

posted @ 2018-02-23 10:03 AlanTu 阅读(657) 评论(0) 推荐(0) 编辑

du和df命令的区别
摘要:du和df命令都被用于获得文件系统大小的信息:df用于报告文件系统的总块数及剩余块数,du -s /<filesystem>用于报告文件系统使用的块数。但是,我们可以发现从df命令算出的文件系统使用块数的值与通过du命令得出的值是不一致的。 如下例: # du -s /tmp 返回如下值: 1292 阅读全文

posted @ 2018-02-23 10:00 AlanTu 阅读(2358) 评论(0) 推荐(0) 编辑

字符串函数汇总
摘要:1 strcpy 为什么strcpy要有返回值? 返回strDest的原始值使函数能够支持链式表达式,增加了函数的“附加值”。同样功能的函数,如果能合理地提高的可用性,自然就更加理想。 链式表达式的形式如: int iLength=strlen(strcpy(strA,strB)); 又如: cha 阅读全文

posted @ 2018-02-23 09:58 AlanTu 阅读(336) 评论(0) 推荐(0) 编辑

死锁原因及解决、避免办法
摘要:死锁的条件 互斥条件(Mutual exclusion) :资源不能被共享,只能由一个进程使用。 请求与保持条件(Hold and wait):进程已获得了一些资源,但因请求其它资源被阻塞时,对已获得的资源保持不放。 不可抢占条件(No pre-emption) :有些系统资源是不可抢占的,当某个进 阅读全文

posted @ 2018-02-23 09:55 AlanTu 阅读(505) 评论(0) 推荐(0) 编辑

八大排序算法图文讲解
摘要:排序算法可以分为内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存。 常见的内部排序算法有:插入排序、希尔排序、选择排序、冒泡排序、归并排序、快速排序、堆排序、基数排序等。 本文将依次介绍上述八大排序算法。 算法 阅读全文

posted @ 2018-02-23 09:52 AlanTu 阅读(362) 评论(0) 推荐(0) 编辑

链表问题集锦
摘要:链表问题在面试过程中也是很重要也很基础的一部分,链表本身很灵活,很考查编程功底,所以是很值得考的地方。我将复习过程中觉得比较好的链表问题整理了下。 下面是本文所要用到链表节点的定义: 1. 在O(1)时间删除链表节点 题目描述:给定链表的头指针和一个节点指针,在O(1)时间删除该节点。[Google 阅读全文

posted @ 2018-02-23 09:50 AlanTu 阅读(324) 评论(0) 推荐(0) 编辑

最长公共子序列|最长公共子串|最长重复子串|最长不重复子串|最长回文子串|最长递增子序列|最大子数组和
摘要:最长公共子序列 1、动态规划解决过程 1)描述一个最长公共子序列 如果序列比较短,可以采用蛮力法枚举出X的所有子序列,然后检查是否是Y的子序列,并记录所发现的最长子序列。如果序列比较长,这种方法需要指数级时间,不切实际。 LCS的最优子结构定理:设X={x1,x2,……,xm}和Y={y1,y2,… 阅读全文

posted @ 2018-02-23 09:49 AlanTu 阅读(603) 评论(0) 推荐(0) 编辑

高并发网络编程之epoll详解
摘要:select、poll和epoll的区别 在linux没有实现epoll事件驱动机制之前,我们一般选择用select或者poll等IO多路复用的方法来实现并发服务程序。在大数据、高并发、集群等一些名词唱的火热之年代,select和poll的用武之地越来越有限了,风头已经被epoll占尽。 selec 阅读全文

posted @ 2018-02-23 09:46 AlanTu 阅读(1420) 评论(0) 推荐(0) 编辑

位操作实现加减乘除四则运算
摘要:解决方案 需要熟练掌握一些常见的位操作实现,具体为: 1)常用的等式:-n=~(n-1)=~n+1 2)获取整数n的二进制中最后一个1:n&(-n)或者n&~(n-1)如:n=010100,则-n=101100,n&(-n)=000100 3)去掉整数n的二进制中最后一个1:n&(n-1),如:n= 阅读全文

posted @ 2018-02-23 09:44 AlanTu 阅读(1089) 评论(0) 推荐(0) 编辑

堆和栈的区别
摘要:一、预备知识—程序的内存分配 一个由C/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其 操作方式类似于数据结构中的栈。 2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回 收 。 阅读全文

posted @ 2018-02-23 09:42 AlanTu 阅读(168) 评论(0) 推荐(0) 编辑

IT思想类智力题
摘要:1、 台阶问题 题目:一个人上台阶可以一次上一个或两个,问这个人上n层的台阶,一共有多少种走法。 本题可以采用递归的方法来设计模型,先从数字的规律入手:假设共有i阶台阶,走完所有的台阶有n种走法,则存在如表6- 3所示。 表6- 3组合情况 i n 组合情况 1 1 {1} 2 2 {1, 1}{2 阅读全文

posted @ 2018-02-23 09:35 AlanTu 阅读(416) 评论(0) 推荐(0) 编辑

C/C++基础总结
摘要:1 static(静态)变量有什么作用 3个体明显的作用:1)在函数体内,静态变量具有“记忆”功能,即一个被声明为静态变量在一个函数被调用的过程中其值维持不变2)在模块内,它的作用域范围是有限制的,即如果一个变量被声明为静态的,那么该变量可以被模块内所有函数访问,但不能被模块外其他函数访问。3)内部 阅读全文

posted @ 2018-02-23 09:33 AlanTu 阅读(524) 评论(0) 推荐(0) 编辑

数据库总结
摘要:1 关系数据库系统与文件数据库系统有什么区别? 2 SQL语言的功能有哪些 基本SQL语句有select、insert、update、delete、create、drop、grant、revoke等。 3 内连接与外连接的区别? 4 什么是事务? 事务是数据库中一个单独的执行单元,它通常由高级数据库 阅读全文

posted @ 2018-02-23 09:32 AlanTu 阅读(217) 评论(0) 推荐(0) 编辑

面试网络总结
摘要:1 OSI七层模型和TCP/IP 2 B/S与C/S有什么区别? C/S是客户端/服务器的缩写,在C/S架构中,服务器通常采用高性能的PC、工作站或者小型机,而且采用大型数据库系统,如SQL server 、DB2、Oracle和Sybase等。客户端需要安装专用的客户端软件。 B/S是浏览器/服务 阅读全文

posted @ 2018-02-23 09:31 AlanTu 阅读(248) 评论(0) 推荐(0) 编辑

导航