博文
找工作(2008-09-26 19:52:00)
摘要:刚找完工作,趁着余热,转贴一个写的不错的经验,攒点RP,大家好好借鉴一下。
工作刚刚落实,论文也刚完成,终于有时间对自己的求职历程及求职经验进行总结了。应同学要求,最近准备书写系列文章“我的求职历程及经验分享”,请大家关注,谢谢!
(一):求职历程总结
2007 年1月10日,随着在三方协议上郑重签下自己的名字,我的求职历程终于划上了一个圆满的句号。在这三个月漫长而艰辛的过程中,我付出了很多,经历了很多,也收获了很多。这一路走来,要感谢的人太多太多,尤其要感谢每一个在找工作过程中关心、帮助过我的人,我会一生铭记你们的恩情。现在,尘埃落定,到了该回报的时候,我首先要回报的就是我的母校和同学。所以,决定把自己找工作中积累的经验写出来给大家分享,希望能对那些将要找工作或还在找工作的同学有所帮助。
我将会以系列文章的形式在网上发布,包括七部分,分别是:求职历程,前期准备,投递简历,笔试,面试,签约/违约以及总结篇。文章的最后,我会留下自己的MSN,欢迎有问题的同学跟我一起探讨,也希望我的经验能帮助大家。
本篇是对自己的求职历程作一个系统的总结,算是对自己有个交待,也对所有关心我、帮助过我的人有个交待。
本人计算机大硕,北方人,从本科到研究生在天大度过了七年时光。求职前,经过对自己性格特点和兴趣爱好的分析,我给自己确定了以下求职目标:
总体目标:走技术和管理/业务结合路线
求职地点:北京,上海
目标行业:金融,IT行业
目标单位:公务员>银行/移动>垄断国企>优秀外企>事业单位(日企、韩企不考虑)
目标职位:IT行业技术和管理结合职位,金融行业计算机职位,其他行业计算机相关职位
求职考虑因素:发展机会>户口>待遇>工作环境
在这样的目标定位下,我的求职历程从2006年10月8日开始,到2007年1月10日正式结束,一共持续了3个月的时间。整个过程可以分为三个阶段:
第一阶段:2006年10月份
找工作刚刚开始的阶段,什么都不懂,也没有经验,所以主要是以海投为主,多争取笔试、面试机会,为后面的面试积累经验,期间参加了天大、南大大部分的宣讲会,但真正笔试、面试的机会较少。这段时间面过的单位主要有:审协,上海aspenTech,汉略,斯伦贝榭,东软,宝......
oracle存储过程总结(2008-09-25 12:14:00)
摘要:
//
1、什么是存储过程。存储过程是数据库服务器端的一段程序,它有两种类型。一种类似于SELECT查询,用于检索数据,检索到的数据能够以数据集的形式返回给客户。另一种类似于INSERT或DELETE查询,它不返回数据,只是执行一个动作。有的服务器允许同一个存储过程既可以返回数据又可以执行动作。
2、什么时候需要用存储过程
如果服务器定义了存储过程,应当根据需要决定是否要用存储过程。存储过程通常是一些经常要执行的任务,这些任务往往是针对大量的记录而进行的。在服务器上执行存储过程,可以改善应用程序的性能。这是因为:
.服务器往往具有强大的计算能力和速度。
.避免把大量的数据下载到客户端,减少网络上的传输量。
例如,假设一个应用程序需要计算一个数据,这个数据需要涉及到许多记录。如果不使用存储过程的话,把这些数据下载到客户端,导致网络上的流量剧增。
不仅如此,客户端可能是一台老掉牙的计算机,它的运算速度很慢。而改用存储过程后,服务器会很快地把数据计算出来,并且只需传递一个数据给客户端,其效率之高是非常明显的。
3、存储过程的参数
要执行服务器上的存储过程,往往要传递一些参数。这些参数分为四种类型:
第一种称为输入参数,由客户程序向存储过程传递值。
第二种称为输出参数,由存储过程向客户程序返回结果。
第三种称为输入/输出参数,既可以由客户程序向存储过程传递值,也可以由存储过程向客户程序返回结果。
第四种称为状态参数,由存储过程向客户程序返回错误信息。
要说明的是,并不是所有的服务器都支持上述四种类型的参数,例如,InterBase就不支持状态参数。
4、oracle 存储过程的基本语法
1.基本结构
CREATE OR REPLACEPROCEDURE 存储过程名字
(
参数1 IN NUMBER,
参数2 IN NUMBER
) IS
变量1 INTEGER :=0;
变量2 DATE;
BEG......
spring注入方式的分类和比较(2008-09-12 11:47:00)
摘要:Type1 接口注入
我们常常借助接口来将调用者与实现者分离。如:
public class ClassA {
private InterfaceB clzB;
public init() {
Ojbect obj =
Class.forName(Config.BImplementation).newInstance();
clzB = (InterfaceB)obj;
}
……
}
上面的代码中,ClassA依赖于InterfaceB的实现,如何获得InterfaceB实现类的实例?传统的方法是在代码中创建InterfaceB实现类的实例,并将起赋予clzB。
而这样一来,ClassA在编译期即依赖于InterfaceB的实现。为了将调用者与实现者在编译期分离,于是有了上面的代码,我们根据预先在配置文件中设定的实现类的类名,动态加载实现类,并通过InterfaceB强制转型后为ClassA所用。
这就是接口注入的一个最原始的雏形。
而对于一个Type1型IOC容器而言,加载接口实现并创建其实例的工作由容器完成,如J2EE开发中常用的Context.lookup(ServletContext.getXXX),都是Type1型IOC的表现形式。
Apache Avalon是一个典型的Type1型IOC容器。
Type2构造子注入
构造子注入,即通过构造函数完成依赖关系的设定,如:
public class DIByConstructor {
private final DataSource dataSource;
private final String message;
public DIByConstructor(DataSource ds, String msg) {
this.dataSource = ds;
this.message = msg;
}
……
}
可以看到,在Type2类型的依赖注入机制中,依赖关系是通过类构造函数建立,容器通过调用类的构造方法,将其所需的依赖关系注入其中。
PicoContainer(另一种实现了依赖注入模式的轻量级容器)首先实现了Type2类型的依赖注入模式。
Type3设......
c#操作xml实例(2008-03-29 10:56:00)
摘要:在C#.net中如何操作XML
需要添加的命名空间:
using System.Xml;
定义几个公共对象:
XmlDocument xmldoc ;
XmlNode xmlnode ;
XmlElement xmlelem ;
1,创建到服务器同名目录下的xml文件:
方法一:
xmldoc = new XmlDocument ( ) ;
//加入XML的声明段落
xmlnode = xmldoc.CreateNode ( XmlNodeType.XmlDeclaration , "" , "" ) ;
xmldoc.AppendChild ( xmlnode ) ;
//加入一个根元素
xmlelem = xmldoc.CreateElement ( "" , "Employees" , "" ) ;
xmldoc.AppendChild ( xmlelem ) ;
//加入另外一个元素
for(int i=1;i<3;i )
{
XmlNode root=xmldoc.SelectSingleNode("Employees");//查找<Employees>
XmlElement xe1=xmldoc.CreateElement("Node");//创建一个<Node>节点<......
c#基础25问(2008-03-21 17:33:00)
摘要:1.静态变量和非静态变量的区别?
2.const 和 static readonly 区别?
3.extern 是什么意思?
4.abstract 是什么意思?
5.internal 修饰符起什么作用?
6.sealed 修饰符是干什么的?
7.override 和 overload 的区别?
8.什么是索引指示器?
9.new 修饰符是起什么作用?
10.this 关键字的含义?
11.可以使用抽象函数重写基类中的虚函数吗?
12.密封类可以有虚函数吗?
13.如果基类中的虚属性只有一个属性访问器,那么继承类重写该属性后可以有几个属性访问器?如果基类中有 get 和 set 两个呢?
14.abstract 可以和 virtual 一起使用吗?可以和 override 一起使用吗?
15.接口可以包含哪些成员?
16.类和结构的区别?
17.接口的多继承会带来哪些问题?
18.抽象类和接口的区别?
19.别名指示符是什么?
20.如何释放非托管资源?
21.P/Invoke是什么?
22.StringBuilder 和 String 的区别?
23.explicit 和 implicit 的含义?
24.params 有什么用?
25.什么是反射?
以下是我做的一份参考答案(C# 语言范畴之内),如果有不准确、不全面的,欢迎各位朋友指正!
1.静态变量和非静态变量的区别?
答: 静态变量: 静态变量使用 static 修饰符进行声明 在所属类被装载时创建 通过类进行访问 所属类的所有实例的同一静态变量都是同一个值 非静态变量: 不带有 static 修饰符声明的变量称做非静态变量 在类被实例化时创建 通过对象进行访问 同一个类的不同实例的同一非静态变量可以是不同的值
示例: using System;using System.Collections.Generic;using System.Text;
namespace Example01 {
......
c#四个技巧(2008-03-19 08:53:00)
摘要:1.如果可能尽量使用接口来编程
.NET框架包括类和接口,在编写程序的时候,你可能知道正在用.NET的哪个类。然而,在这种情况下如果你用.NET支持的接口而不是它的类来编程时,代码会变得更加稳定、可用性会更高。请分析下面的代码: 这个函数从一个可为任何对象的数组中加载ListBox,这段代码被限定为只能使用数组。假想过些时候你发现那些对象存在数据库中,或别的集合中。那么你需要修改程序来使用不同的集合类型。如果你用ICollection接口来写那段程序,你就不用修改那段程序了,对于任何实现ICollection 接口的类型它都能很好的工作: ICollection被数组和所有System.Collection中的集合实现。此外,多维数组也支持ICollection接口。如果那还不够的话,数据库.NET类同样支持ICollection接口。用接口写的这个函数不用需改就可以才许多中情况下使用。
2. 使用属性代替原始数据
因为属性已经成为语言本身的元素,所以声明数据元素时它的作用域等级没有必要大于private。因为代码本身会把属性看成数据元素,你并没有失去使用简单数据类型的便利性 。相反它会使你的代码更加灵活功能更加强大。属性使你的数据元素封装性更好。属性可以让你使用lazy evaluation来返回数据。lazy evaluation的意思是当用户请求时才计算它的值,而不是一直保留着它。 最后,属性可以是virtual也可以是abstract。你也可以在接口中定义属性。 这里还有维护方面的因素应当注意:尽管操作两者的方法是一样的,但是你把一个数据元素变成属性,那么原先客户端的程序便不能访问服务端的新版本程序了。实际上对于在Web service中你想实现序列化的值你可以把它们变成属性来使用: private int TheMonth = 0; [XmlAttribute ("Month")] public int Month { get { return TheMonth; } set { TheMonth = value; } } 简单通过属性就可以使你的所有数据元素私有化。
3. 在Producer/Consumer 的Idiom中使用Delegate
当你生成一个实......
手机短信发送windows服务(2008-03-19 08:48:00)
摘要:最近在电脑城上买了一根NOKIA3210的数据线,玩了几天改LOGO、改铃声后也将数据线扔在一边。直到前几天在Http: //oxygensoftware.com上看到有发手机短信息的二次开发控件,才想起多日不用的数据线,而且最近在学C#,觉得用C#做个发短信息的程序也不错,经过多天的测试,终于实现用电脑+数据线+手机的模式,实现在单位的局域网平台上发送短信息了。
由于单位使用到发手机短信息的地方有很多,可能是从网页、可能是OUTLOOK中的窗体、也可能是某台非Windows操作系统的主机的某个系统,所以经过思考探讨,觉得最好的解决方案是采用Windows的“服务”,定时从一个目录中固定格式的文本文件中读取出相应的信息,发送出去。而其它客户端只需往该目录写入文本信息即可。思路定下来后就让我们开始吧!
先交待一下开发平台:Windows 2000 Advance Server操作系统、Visual Studio .Net 、Oxygen Sms ActiveX Control V2.3 (Share Ware)、 Nokia 3210手机通过数据线接在COM1上。运行Visual Studio .Net,新建一个C#的项目,选择“Windows Server”类型的项目,命名为“SmsServer”。在Server1的设计画面,将“ServerName”命名为“SmsServer”。点击 “视图设计器按钮”切换到设计画面,在“Windows Forms”工具箱中拖一时钟控件,命名为“SmsTimer”,在“Components”工具箱中拖一“EventLog”控件。命名为 “eventLog1”。在“项目”菜单中点击“添加引用”,选择“COM”页,浏览到安装Oxygen Sms ActiveX Control V2.3程序的目录,找到SMSControl.ocx添加到“选定的组件”中。
将Server1.cs代码替换为
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Diagnostics;
using System.ServiceProces......
关机小程序(2008-03-19 07:56:00)
摘要: 非常幸运很容易就找到了Microsoft.Win32命名空间下面的SystemEvents类,他有一个静态的事件 SessionEnding在系统注销或者关机时发生,此事件只有在winform的程序下有效,而在控制台程序下面无效,不能激发事件;还有一点我们必须在程序推出时将加上的事件移除掉,否则就容易造成内存溢出。
关键代码如下:
using System;
using System.Collections.Generic;
using System.Windows.Forms;
using Microsoft.Win32;
namespace Shutdown
{
static class Program
{
/**////
/// 应用程序的主入口点。
///
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
FormShutdown formShutdown = new FormShutdown();
SystemEvents.SessionEnding += new SessionEndingEventHandler(formShutdown.SystemEvents_SessionEnding);
Application.Run(formShutdown);
}
}
}Form 的代码:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using Microsoft.Win32;
namespace Shutdown
{
public partial class FormSh......
浅谈c++中的this指针(2008-02-21 13:00:00)
摘要:有下面的一个简单的类:
class CNullPointCall
{
public:
static void Test1();
void Test2();
void Test3(int iTest);
void Test4();
private:
static int m_iStatic;
int m_iTest;
};
int CNullPointCall::m_iStatic = 0;
void CNullPointCall::Test1()
{
cout << m_iStatic << endl;
}
void CNullPointCall::Test2()
{
cout << "Very Cool!" << endl;
}
void CNullPointCall::Test3(int iTest)
{
cout << iTest << endl;
}
void CNullPointCall::Test4()
{
cout << m_iTest << endl;
}
那么下面的代码都正确吗?都会输出什么?
CNullPointCall *pNull = NULL; // 没错,就是给指针赋值为空
pNull->Test1(); // call 1
pNull->Test2(); // call 2
pNull->Test3(13); // call 3
pNull->Test4(); // call 4
你肯定会很奇怪我为什么这么问。一个值为NULL的指针怎么可以用来调用类的成员函数呢?!可是实事却很让人吃惊:除了call 4那行代码以外,其余3个类成员函数的调用都是成功的,都能正确的输出结果,而且包含这3行代码的程序能非常好的运行。
经过细心的比较就可以发现,call 4那行代码跟其他3行代码的本质区别:类CNullPointCall的成员函......
当前党内十种十分消极的现象(2008-02-20 17:55:00)
摘要:一是对腐败熟视无睹,甚至趋之若鹜。老百姓对腐败很痛恨,而有些党员干部对腐败漠然视之。有的在言谈中,只恨自已没有滋生腐败的土壤。哪一件腐败案是领导干部自己主动举报的?没有。这些腐败案都是同案牵涉出来的。有些腐败,非常嚣张,如,跑项目,领导亲自安排请客送礼,把腐败合法化。这样下去怎么了得?
二是买官卖官猖獗,官场上下肮脏一气。现在的买官卖官现象也不是个别,凡提拔都需要走动,这也成为潜规则。领导与被领导关系,成为金钱关系,官场之风败坏,对有志有才之士抑制严重,多少仁人志士怀才不遇。
三是民主成为花瓶,领导专制严重。加快党内民主,大家是非常盼望的。可是,在一些地方,党内民主只是个人说了算,监督成为“水货”。有制度规定,他们可以实行可以不实行,有利于他自己的就民主,没有利的,就换个民主方式也要专断。操作的所谓民主,干自己想干的沟当。党内有很多问题,纪检部门不是不知道,只是要服从上级,不能自己处置,而下级是上级同意干的事,因此监督形同虚设。
四是改革流于形式,垄断成为谋敢私利的工具。如大型国有企业的股份化改制、国家垄断的基本经济资源的市场化配置,结果都搞到私人手中。近年逃往国外的大贪,八成是国企老总或要职。国有企业或国有参股企业,是社会主义公有制的主体,国民经济命脉,如果搞不好,是会出大问题的。工人老大哥是不会甘心把自己的心血拱手让给腐败分子的。
五是法治环境恶化,恶性案件经常发生;公察法三家职责不清,许多案子本来很容易办结,但三家经常推卸,使之对违法犯罪打击不力,以至无法有效打击恶性案件。
六是被动服务,庸碌工作。一部分公务员养尊处优,消极怠工。政府被动服务方面,表现对教育、安全、基本社会保障等公共服务不到位。待问题出来后再议再管,没有人主动把人民福址之事作为具体任务来落实。现在,公务员成为铁饭碗,党员在其中是大部分,不能发挥党员公务员的作用。比如,有的公务员不是党员,领导偏偏喜欢这样的人干事,党员想干事还没份。做事的做事,忙的忙,苦乐不均。优秀的得不到奖励,庸碌的反而悠闲着没事,这样的作风,真是太普遍了。
七是分配不公、贫富差距拉大。各种腐败扩散,激起社会矛盾呈现日益加剧的趋势。收入差距大,源于分配不公,分配不公,源于收入制度上的问题。最近,党中央也采取措施,力图缩小贫富悬殊问题......