51CTO博客开发
面试流程主要包括:1、机试(4月25号) 机试分为java和c语言两种,编程环境分别为eclipse和vc,各有三道题目,前两天都比较基础,最后一道题量比较大。我做的是java编程,最后一道题5问,没有做完,总共1个半小时。第一题60分,第二题100分,总分过六十即为通过机试。不过时间还有的话当然要多做点题目。2、网测 机试通
网易游戏2011笔试:1、对于一个内存地址是32位、内存页是8KB的系统。0X0005F123这个地址的页号与页内偏移分别是多少?页号:0x2F。也就是地址0x0005F123除以8K的商.页内偏移: 地址0x0005F123除以8K的余数0x11232、如果X大于0并小于65536,用移位法计算X乘以255的值为? X*255=X*(256-1)=(X<
1、谈谈你对面向对象编程的认识(京东)面向对象编程注重的是:1)数据和其行为的打包封装,2)程序的接口和实现的解耦。 2、数据库1中存放着a类数据,数据库2中存放着以天为单位划分的表30张(比如table_20110909,table_20110910,table_20110911),总共是一个月的数据。表1中的a类数据中有一个字段userid来唯一判别用户身份,表2中的30张表(每张
1、C 。注意累计中奖的情况2、C 个人感觉采用逐个带入会比较快。3、C(不确定)4、A5、D将饮料编号为ABCDEFGH。分为三组ABC DEF GH。从中任选两组让两只小白鼠喝,用于确定是哪个组的饮料有毒。然后将这三个组进行混合,ADG BEH CF.让三只小白鼠喝,因为每个组的三瓶饮料都分给了不同的小白鼠,因此能确定是哪一瓶饮料有问题。6、c A(5,3)=5*4*3=60种7、B 。因为A
1、b。结构体中的位域对齐。前两个int型变量的位域之和小于4字节,因此存放在一个int型变量之中,但是第三个是double型的变量,需要8字节对齐,这样前三个变量占了16个字节,最后一个int是四个字节,总共20个字节。根据结构体定义的原则,应该是最长变量的整数倍对齐,因此应该是24个字节。对于window而言,结构体的最大类型是多少字节,就是多少字节对齐,但是对已linux而言,最长是4字节对
1、512*1024*24/8=1.5M2、首先弄清楚补码的概念原码:符号位加上真值的绝对值, 即用第一位表示符号, 其余位表示值.因为第一位是符号位, 所以8位二进制数的取值 范围就是:[1111 1111 , 0111 1111],即[-127,127];反码:负数的反码是在其原码的基础上, 符号位不变,其余各个位取反.补码:负数的补码是在其原码的基础上, 符号位不变,
// Test.cpp : 定义控制台应用程序的入口点。 //题目描述如注释所示。 #include "stdafx.h" //在一篇英文文章中查找指定的人名,人名使用二十六个英文字母(可以是大写或小写)、空格以及两个通配符组成(*、?),通配符“*”表示零个或多个任意字母,通配符“?”表示一个任意字母。 //如:“J* Smi??” 可
普通的字符串匹配函数:// KMP.cpp : 定义控制台应用程序的入口点。 // #include "stdafx.h" //求字串位置的定位函数 char *s="acabaabaabcacaabc"; char *p="abaabcac"; int lenS; int lenP; int Index
J2EE集群最重要的两点就是能够实现负载均衡和失效转移。WEB层的集群web层的集群主要包括web负载均衡和httpsession的失效转移这两个方面。1.1 web负载均衡的实现包括三方面: 负载均衡算法:当请求来临时,决定由那个服务器来处理 健康检测:如果某个服务器失效,将不再接受新的请求 会话胶粘:web应用程序都
#define __setup_param(str, unique_id, fn, early)\ static const char __setup_str_##unique_id[] __initconst\ __aligned(1) = str; \ static stru
1、编译busybox时的注意事项don't use/usr该选项会新建_install目录,否则make install之后将安装在原系统的/usr下,覆盖掉系统原有的命令集。build busybox as a static binary。将busybox编译成静态链接的可执行文件。这样运行时才能独立于其他函数库,否则必须有其他的函数库才能运行。配置编译类似于编译linux内核make men
1、首先关于kernel的一些总结:内核在make modules的时候,会生成模块的可执行文件,make modules_install会把这写可执行文件都copy到/lib/modules/X.Y.Z目录下。该目录下都是模块,还有一个build目录,是源码目录的链接。再总结一些kgdb调试的内容:2、目标机:目标机进入内核调试状态有两种方式:方式一:在grub引导时就加入启动参数k
这是KDB使用I/O接口驱动,代码位于/drivers/tty/serial/kgdboc.c.对应于CONFIG_KGDB_SERIAL_CONSOLE.该驱动是目前配置与kdb shell交互的设备的最主要的驱动程序。kgdboc驱动依赖于底层硬件驱动程序。在kgdboc的最初的实现中,serial_core 暴露了一个UART钩子执行轮询操作,在原子上下文中读写一个单字节。当kgdb向调试器
inlclude\linux\init.h #define __define_initcall(level,fn,id) \ static initcall_t __initcall_##fn##id __used \ __attribute__((__section__(".initcall" level ".i
1. KDB的安装 使用KDB调试内核需要对内核打补丁并且对内核进行重新编译。1.1. 下载linux源码 因为最新的KDB支持的linux的内核版本为3.1,所以在此处我们下载的是linux-3.1的版本,下载的网址为:http://download.chinaunix.net/download/0007000/6156.shtml。并将源码解压在
13.1 File-IO 概述目标机可以使用宿主机的文件系统以及控制台IO来执行系统调用。目标机上的系统调用被翻译成一个远程协议包到达宿主机,然后宿主机执行相应的操作,向目标系统返回处理结果。gdb执行能够执行系统调用的条件:gdb在等待‘C’,‘c’,‘S’,‘s’的回复。当gdb处理系统调用时,目标机停止,使得gdb能够访问目标机的内存。因此,FILE-IO是不能够被目标机的信号打断的。但是,
dmesg:该命令用于打印内核的相关信息kill:向进程发送信号语法:kill -<signalnumber> <pid>lsmod:列出了系统中所有的当前系统中可装载模块的信息第一列:模块名第二列:模块的代码量第三列:模块对象的地址第四列:模块的计数第五列: 模块的状态(loading,unloading,live)第六列:模块的初始装载地址第七列:使用该模块的模块env
kgdb和kdb现在已经合并了。对于一个正在运行的kgdb而言,可以使用gdb monitor命令来使用kdb命令。比如(gdb)gdb monitor ps -A就可以运行kdb的ps命令了。分析一下kdb补丁和合入主线的kdb有啥不同kdb跟kgdb合并之后,也可以使用kgdb的IO驱动(比如键盘),但是同时也kdb也丧失了一些功能,合并之后的kdb不在支持汇编级的源码调试,因此它现
1、kdb绑定串口的方式有两种:在运行时:echo ttyS0,115200 >/sys/module/kgdboc/parameters/kgdbockgdb:Registered I/O driver kgdboc在内核启动时:加入启动参数:kgdboc=ttyS0,115200 kgdbwait通过这两种方式,相当于给kdb安装了串口IO驱动。如果想让内核在启动的过程中直接挂起,那么可
为了使用Oops信息的栈回溯信息更直观:CONFIG_FRAME_POINTER栈回溯信息[<c001a6f4>] 回调(s3c2410fb_probe+0x0函数偏移/0x560)函数大小from[<c01bf4e8>]回调地址(platform_drv_probe+0x20/0x24)栈回溯信息可以知道内核出错时函数调用关系。
KGDB单步调试的流程A:KGDB进入调试状态,等待gdb命令B:gdb发送‘s’命令给KGDBC:KGDB收到‘s’命令之后,设置EFLAG的寄存器的IF位,使cpu进入单步调试模式。D:KGDB退出调试异常处理函数,让系统恢复运行E:cpu执行一条指令后,就会产生单步异常F:KDB陷入调试模式,发送信息通知gdbG:KGDB回到A,继续等待gdb命令。
在编写代码时,可以使用的内核符号(函数,变量)都是exported。symbol有三种不同的level:static,external所有内核文件可用,exported所有可装载模块可用。比如printk:EXPORT_SYMBOL(printk)
源码编译流程:源码:hello_word.c+头文件stdio.h经过预处理gcc -E,得到hello_word.i;hello_word.i编译(gcc -S)生成hello_word.S;汇编(gcc -C)生成hello_word.ohello_word.o跟库文件链接生成目标文件。缺点:仅对应用程序进行调试,一次只能跟踪一个应用程序,不能独立存在,必须使用ptrace系统调用接口。
1、中断和异常的区别中断:一般由外部设备引起;异常:cpu执行完某条指令之后,cpu控制单元产生,一般由编程错误引起。2、中断向量0~2550~31:异常和不可屏蔽中断32~47:可屏蔽中断48~255:软中断linux使用一个软中断(0x80)作为系统内核函数的系统调用接口。硬件中断IRQ0~IRQ15被关联到了中断向量32.。。47.2、中断描述表中断描述符表中,每个向量在表中有相应的中断或者
2、hashcode(重点分析的是hashcode和equal的关系)比较经典的博文:http://blog.csdn.net/winer2008/article/details/4059789谈到hashcode,首先说一下java对象的比较,等号(==):对比对象实例的内存地址(也即对象实例的ID),来判断是否是同一对象实例;又可以说是判断对象实例是否物理相等;equals():对比两个对象实
分析很好的一篇博文:http://www.java3z.com/cwbwebhome/article/article2/21129.html?id=19491) redirect 方式response.sendRedirect("/a.jsp");页面的路径是相对路径。sendRedirect可以将页面跳转到任何页面,不一定局限于本web应用中,如: response.sendRedirect("
1、最终tomcat的工程目录为:E:\JavaWEB\tomcat------>1、ant的安装与配置1、将ant解压到apache-ant-1.9.3目录下;2、然后配置环境变量:ANT_HOME:E:\JavaWEB\tomcat\apache-ant-1.9.3path:E:\JavaWEB\tomcat\apache-ant-1.9.3\binTOMCAT_LIBS_BASE:E:
1、JDK1.6安装过程中注意环境变量的配置JAVA_HOME:jdk的路径CLASS_PATH:类文件的搜索路径PATH:jdk/bin,即jdk命令行工具的执行代码。2、mysql5.1编码:utf-8密码:123456用户名:root。关于mysql重新安装的问题http://www.cnblogs.com/hanxianlong/archive/2012/07/30/2615099.htm
1、基本概念首先要说的是,Hibernate中ORM里对应的映射文件BEAN,必须实现序列化.因为BEAN里的数据需要存入数据库(要转化为二进制保存),进行存取工作.JAVA类的数据 ,如果要进行相关的存储工作(如写文件,网络传输,写数据库等),那么这个数据的类 就必须实现序列化接口 (java.io.Serializable)------用于作为一种将 Java 对
Copyright © 2005-2024 51CTO.COM 版权所有 京ICP证060544号