- 博客(141)
- 资源 (7)
- 收藏
- 关注
原创 高效面试之操作系统常考题
一:操作系统1. 进程的有哪几种状态,状态转换图,及导致转换的事件。2. 进程与线程的区别。进程是操作系统资源分配的单位,线程是操作系统执行的单位,进程有独立的地址空间,一个进程崩溃后,在保护模式下不会对其它进程产生影响,而线程只是一个进程中的不同执行路径。线程有自己的堆栈和局部变量,但线程之间没有单独的地址空间,一个线程死掉就等于整个进程死掉,所以多进程的程序要比多线
2014-10-26 01:49:24
3136
原创 高效面试之计算机网络常考点
1. 电路交换与分组交换的区别?优劣对比。2. OSI有哪几层,会画出来,知道主要几层的各自作用。应用层 与用户应用进程的接口表示层 数据格式的转换会话层 会话管理与数据传输的同步传输层 端到端经网络透明地传送报文网络层 分组传送,路由选择数据链路层 在链路上无差错地传送帧物理层 经物理媒体透明传送比特流3. TCP/IP有哪几层,会画出来,知道
2014-10-26 01:48:01
3541
原创 高效面试之贪心算法
性质:最优子结构。贪心选择性质:局部最优解可以得到全局最优解贪心算法,子问题可以决定全问题,而dp子问题只能影响全问题。题目索引:Jump Game1. 给定一个数组,每个元素值表示当前可以走的步数,求到达终点最小跳数farest=max(farest,i+A[i]);Best Time to Buy and Sell Stock 2,3
2014-10-26 01:45:27
1964
原创 高效面试之字符串匹配(KMP,AC算法)
文本Tn 模式Pm, P在T中出现的位置为偏移字符串匹配问题描述为:找出所有偏移s(0=分两步完成,预处理+匹配算法预处理时间匹配时间朴素算法oO((n-m+1)m)RK算法O(m)O((n-m+1)m)有限状态机
2014-10-26 01:44:04
2121
原创 高效面试之动态规划DP
解题关键:理解结构特征,抽象出状态,写成状态转移方程。题目索引1.三角形找一条从顶到底的最小路径分析设状态为 f (i; j ),表示从从位置 (i; j ) 出发,路径的最小和,则状态转移方程为f(i,j)=min{f(i+1,j),f(i+1,j+1)}+(i,j) 2.最大子数组和设状态为 f[j],表示以 S[j] 结尾的最大
2014-10-26 01:41:06
8367
原创 高效面试之DFS
Y void dfs() { if() { return;//收敛或终止条件 } if(可以剪枝) return for() { if() { dfs();
2014-10-26 01:36:43
1788
原创 高效面试之二叉树
题目四大类:1.二叉树的遍历先/中/后/层次/morris2.二叉树的构建3.二叉树的递归4.二叉搜索树二叉树基本操作题目编号:1.二叉树的创建,遍历(4种)2.知道其中两种遍历方式,二叉树重构。3.二叉树搜索树的创建,查找,插入,删除操作leetcode编号:遍历1.判断两个树是否相同2.判断两个树是否对称3.判断是否为平衡二叉树
2014-10-26 01:33:04
1232
原创 高效面试之数组专题中级篇(leetcode)
目录1、编号2 Median of Two Sorted Arrays2、编号15 Long Common Prefix 3、编号25 Remove Element (双指针)4、编号26 Remove Duplicates from Sorted Array (双指针)5、编号32 Search for a Range (折半查找)6、编号33 Search in Rot
2014-10-26 01:29:58
1195
原创 高效面试之栈
题目:1.Valid Parentheses括号是否匹配2.Longest Valid Parentheses最长的有效匹配3.Evaluate Reverse Polish Notation逆波兰表示法进行求值1.熟练STL栈的基本操作#include using namespace std;stack s; s.push(a)
2014-10-26 01:27:01
715
原创 高效面试之leetcode链表题汇总
题目索引:1.偶数位逆序插入reoder listGiven {1,2,3,4}, reorder it to {1,4,2,3}.2.交换相邻的二个节点 swap nodes in pairsGiven 1->2->3->4, you should return the list as 2->1->4->3.3.删除指定位置的节点 4.删
2014-10-26 01:21:42
3055
原创 高效面试之实现strcpy等简单库函数
strcpy,strstr,strcmpmemcpy,memove,memsetatoi,itoa1.itoa 注意:字符串倒置char* itoa(int a,char* string){ int i=0,j=0; char temp[10],string[10]; while(a) { i=a
2014-10-26 01:17:47
1038
原创 高效面试之理解编码
一.补码1.为什么要使用原码,反码,补码1)负数二进制怎么表示?答:在原码中,高位为1就表示负数2)计算机如何实现减法?1-1=?答:对于计算机,逻辑运算应该设计的简单,1-1可以表示为1+(-1),故没有减法,用加法实现减法。1 - 1 = 1 + (-1) = [00000001]原 + [10000001]原 = [10000010]原 =
2014-10-26 01:00:59
824
原创 高效面试之位运算
一.技巧1.特殊数&或者!2.本身异或为0,与0异或为本身,满足交换律例:不借助第三数 交换两数3.取反加1求相反数4.巧妙分组处理(16bit位的数)分为8组(分组需要与0xAAAA或者0x5555相与,交换位置需要移动1位)a&0xAAAA 1010,1010,1010,1010 (a&0xAAAA)>>1
2014-10-26 00:58:34
2659
原创 高效面试之数组专题初级篇
1.如何用递归实现数组求和?int GetSum(int *a,int n){ return n==0?0:GetSum(a,n-1)+a[n-1];//主要是用条件表达式写比较简洁}2.如何用一个for循环打印出一个二维数组?for(int i=0;i printf("%d ",array[i/N][i%N]);3.在顺序表插入和删除一个节点平均移动多
2014-10-26 00:53:47
789
原创 字符串处理易错点
一.知识点1.字符指针和字符数组(1)字符指针,是个变量,存放的是地址而已。是个指针,如只定义,则指针指向不可用的地址 ,不能乱用,则指针没指向任何地址,赋值后用来指向一个字符串。所以用时必须malloc(2)字符数组,定义是系统就为其分配了数组大小的区域。字符串定义时可以为数组中的每个元素赋值。2.字符可以通过ascii码进行算法运算例:字符转换为数字函数
2014-10-26 00:48:32
820
原创 高效面试之各种排序算法c实现
//cqkxboy168#include #include //bitmap使用#define MAX 200int map[1+MAX/32]={0};void swap(int *a,int *b){ int temp=*b; *b=*a; *a=temp;}//选择排序: //原理:{有序}[无序],每一次循环从[无序]里面Select一个最小的元素。void
2014-08-04 20:53:49
1273
原创 CentOS设置默认启动命令行
CentOS设置默认启动命令行(不启动图形界面) Linux 启动的时候可以选择纯文本或者是窗口环境,这就牵涉了运行等级这个问题。Linux 默认提供了 7 个 Run level 给我们使用,其中我们最常用的就是 run level3 和run level5 这两个了。如果你想要让 linux 在开机启动的时候运行的是纯文本环境(run level3)的 0 话,就要在/et
2014-04-08 10:17:25
627
转载 滑动窗口机制
(1).窗口机制 滑动窗口协议的基本原理就是在任意时刻,发送方都维持了一个连续的允许发送的帧的序号,称为发送窗口;同时,接收方也维持了一个连续的允许接收的帧的序号,称为接收窗口。发送窗口和接收窗口的序号的上下界不一定要一样,甚至大小也可以不同。不同的滑动窗口协议窗口大小一般不同。发送方窗口内的序列号代表了那些已经被发送,但是还没有被确认的帧,或者是那些可以被发送的帧。下面举一个例子(假设
2013-12-02 09:53:47
677
转载 linux前后台进程切换(转)
Linux 前后台进程切换当你用shell启动一个程序时,往往他是在前台工作的。 例如经常用PUTTY连接到远程服务器执行脚本的时候,如果本地网络中断后,这个时候前台进程就结束了,比较的懊恼,必须重新执行。因此有必要进行前后台进程的切换。例如直接在终端里输入firefox,那么会打开firefox,但当你关闭此终端或者ctrl+c强制终止时,firefox也随机关闭了。你可以在执行
2013-11-21 09:46:02
839
转载 shell中for总结
关于shell中的for循环用法很多,一直想总结一下,今天网上看到上一篇关于for循环用法的总结,感觉很全面,所以就转过来研究研究,嘿嘿...1、 for((i=1;i2、在shell中常用的是 for i in $(seq 10)3、for i in `ls`4、for i in ${arr[@]}5、for i in $* ; do6、for File in /proc
2013-10-30 14:24:19
693
转载 linux中shell变量的含义解释
变量说明:$$Shell本身的PID(ProcessID)$!Shell最后运行的后台Process的PID$?最后运行的命令的结束代码(返回值)$-使用Set命令设定的Flag一览$*所有参数列表。如"$*"用「"」括起来的情况、以"$1 $2 … $n"的形式输出所有参数。$@所有参数列表。如"$@"用「"」括起来的情况、以"$1" "$2" …
2013-09-11 09:42:08
863
原创 shell中条件判断if中的-z到-d的意思
[ -a FILE ] 如果 FILE 存在则为真。[ -b FILE ] 如果 FILE 存在且是一个块特殊文件则为真。[ -c FILE ] 如果 FILE 存在且是一个字特殊文件则为真。[ -d FILE ] 如果 FILE 存在且是一个目录则为真。[ -e FILE ] 如果 FILE 存在则为真。[ -f FILE ] 如果 FILE 存在且是一个普通文件则为真。
2013-09-11 09:40:38
818
原创 shell常用判断语句
1.判断文件夹是否存在 if [ ! -d "$myPath"]; then 2.判断文件是否存在 if [ ! -f /tmp/dns.out ] ; then3.判断字符串是否为空 if [ -z "$pid" ] ; then4.判断变量值 if [ $# -ne 1 ] ; then5. 判断$myPath是否存在并且是否具有可执
2013-09-11 09:37:49
1586
转载 自助Linux之问题诊断工具strace
引言“Oops,系统挂死了..."“Oops,程序崩溃了..."“Oops,命令执行报错..." 对于维护人员来说,这样的悲剧每天都在上演。理想情况下,系统或应用程序的错误日志提供了足够全面的信息,通过查看相关日志,维护人员就能很快地定位出问题发生的原因。但现实情况,许多错误日志打印模凌两可,更多地描述了出错时的现象(比如"could not open fi
2013-09-03 14:09:03
614
原创 /dev/null 2>&1
为什么要用 /dev/null 2>&1 这样的写法.这条命令的意思是将标准输出和错误输出全部重定向到/dev/null中,也就是将产生的所有信息丢弃.下面我就为大家来说一下, command > file 2>file 与command > file 2>&1 有什么不同的地方. 首先~command > file 2>file 的意思是将命令所产生的标准输出信息,和错误
2013-09-03 12:20:47
599
转载 signal
函数名: signal表头文件#include功 能:设置某一信号的对应动作函数原型:void (*signal(int signum,void(* handler)(int)))(int);或者:typedef void(*sig_t) ( int );sig_t signal(int signum,sig_t handler);参数说明:
2013-09-02 11:26:58
974
转载 进程间通信IPC之--共享内存
每个进程各自有不同的用户地址空间,任何一个进 程的全局变量在另一个进程中都看不到,所以进程之间要交换数据必须通过内核,在内核中开辟一块缓冲 区,进程1把数据从用户空间拷到内核缓冲区,进程2再从内核缓冲区把数据读走,内核提供的这种机制称为进程间通信(IPC,InterProcess Communication)如下图所示:进程间通信共七种方式:第一类:
2013-09-02 11:17:11
1119
原创 基于事件的设计模式
/*启动事件轮询*/ voideventLoop(){ struct timeval sleep_time, timeout; int rc, i, done, n; FdEventHandlerPtr event; int fd0; gettimeofday(¤t_time, NULL); while(1) { again:
2013-08-27 00:39:22
885
原创 inet_ntoa
//获取本机IP地址 charPCname[100]={""}; char *IPaddress=NULL; gethostname(PCname,sizeof(PCname)); printf("Local Hostname is%s.\n",PCname); struct hostent FAR * lpHostEnt=gethostbyname(PCna
2013-08-22 18:16:45
682
原创 dhcpd.conf和resolv.conf
[root@test~]#vi/etc/dhcpd.conf (建立配置文件)全局设置:作用于整个配置文件ddns-update-style interim; //DHCP和DNS更新模式,必须包括的设置项authoritative; //拒绝不正确的IP请求。subnet 192.168.1.0 netmask 255.255.255.0 { //全局
2013-07-21 19:22:26
1323
转载 ftp
今天同事问我一个问题,在Linux 下访问FTP,并将文件上传上去。 我之前一直是用WinSCP工具的。 先将文件从linux copy到windows下,然后在传到ftp上。 google 一下。方法也比较简单。 这里只讨论通过终端来连接,因为也可以通过IE 或者其他工具。 1. Linux 终端连接FTP[oracle@Dave ~]$ ftp 10.85.7.97
2013-07-20 10:42:28
1041
转载 linux expr
expr 命令用途求表达式变量的值。语法expr Expression描述expr 命令读入 Expression 参数,计算它的值,然后将结果写入到标准输出。您必须对 Expression 参数应用以下规则: 用空格隔开每个项。 用 / (反斜杠) 放在 shell 特定的字符
2013-07-20 10:21:03
939
转载 RAW_SOCKET
sock_raw原始套接字编程可以接收到本机网卡上的数据帧或者数据包,对与监听网络的流量和分析是很有作用的.一共可以有3种方式创建这种socket 1.socket(AF_INET, SOCK_RAW, IPPROTO_TCP|IPPROTO_UDP|IPPROTO_ICMP)发送接收ip数据包2.socket(PF_PACKET, SOCK_RAW, htons(ETH_
2013-07-11 11:17:12
1101
原创 简要总结
1.grep 搜索grep ' ' filenamegrep -o ' ' filename 只输出匹配到的(1)ls - l | grep '^a' (2)grep ' [a-z]\{5\}' filename2.sed 流编辑sed 's / patter/ / replace_string/ ' filename(1) sed -n '/
2013-07-10 22:02:24
681
原创 上下文切换
支持多任务处理是CPU设计史上最大的跨越之一。在计算机中,多任务处理是指同时运行两个或多个程序。从使用者的角度来看,这看起来并不复杂或者难以实现,但是它确实是计算机设计史上一次大的飞跃。在多任务处理系统中,CPU需要处理所有程序的操作,当用户来回切换它们时,需要记录这些程序执行到哪里。上下文切换就是这样一个过程,他允许CPU记录并恢复各种正在运行程序的状态,使它能够完成切换操作。在上下文切
2013-07-09 11:13:52
826
1
转载 使用系统iso镜像配置yum源
环境使用的是redhat6.1 64bit。1.设置虚拟机的硬件,在光驱处选择系统的安装镜像,这一步在开机关机的时候都可以。2.在开机的情况下,右击vmware下面的光驱,选择连接。3.接下来需要配置一下系统/etc/yum.repos.d/rhel-source.repo配置文件,另外,我是把光盘挂载到了/mnt/iso下面,具体过程如下:
2013-07-07 20:26:52
1137
原创 下载rpm包的好网站
http://rpm.pbone.net/index.php3/stat/4/idpl/17697471/dir/scientific_linux_6/com/gcc-4.4.6-3.el6.i686.rpm.html
2013-07-07 20:22:40
701
系统集成项目管理工程师考试葵花宝典之考点精编与历年真题解析(2013年最新版)-项管必过神系列书籍.pdf
2013-11-07
国嵌视频课件ppt
2013-05-07
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人