(很长的帖子)我该如何积累求职经验?

说来话长……
可直接把页面拉到下面看

    小时候,总是梦想自己有台电脑,可以像电影上那样酷的敲命令……
    高一的时候,爸爸总算是达成了我的心愿,花了4000块钱给我攒了台机子,大一换了显示器、机箱,加了内存,现在大四还正良好的服役着……
    高一的时候,也开始学编程了,当然从Visual Basic开始的!不过以失败而告终,那时候感觉VB好难,代码组织也没什么逻辑,还不习惯在界面上拖拖曳曳再写代码,最后连个小程序都没写出来过。
    高中毕业的暑假,有一次在书店里看到了一本《Java 2 教程》,粗略的一看,顿时觉得Java是一门很有前途的语言,语言相当的有条理,于是乎花了49块钱把书抱回家,开始了自己的Java之旅,一晃倒现在也断断续续学了三年多了,不过也感觉自己没什么成就,还有很多类库不大熟悉,没有精通Swing,没有精通Socket……

    大一大二的时候,我就是啃Java的基础,还真的觉得《Java 2 教程》这本书很不错,书不是很厚,基础却不薄。还有一天还在教室里捡了本严蔚敏的《数据结构(C语言版)》,就开始自学数据结构和算法了,第一次学到“树和二叉树”那一章的时候就感觉有些困难,接不下去。
我现在发现数据结构和算法这东西得学上五六遍才行:第一遍是从开头部分到树那部分的主题;第二遍又是从头开始,一直学到图那部分主题;第三遍是把前面的基础到后面的主题,像什么红黑树、AOV/AOE网、查找排序、文件以及一些常见的算法应用都看了下;第四遍就是跟着老师上课学习;第五遍是自己现在另外添了几本补充的书还在看着;第六遍还没开始。有时候感叹自己学算法这么久,连运用自如都谈不上,现在还是处于不上不下中の。

    大三的时候,开始投身Java EE了。呵呵,其实就是看了V512的JSP和浪曦的Struts2的视频,还有尚学堂的Spring和Hibernate以及达内EJB3.0的视频。自己做了个失败的小项目《学校运动会管理系统》,发些自己把50%的时间都花在页面上,而且主要的精力都用在了CRUD,项目完成到60%左右就一直搁在硬盘上了。
    大四对Java EE的热情退了些,主要就是再看看复习一下,想想也许在学校里还没必要把一些应用型的技术学深了,出去也不一定用得到。不知道为什么,现在对大学生活的感悟忽然多了起来,也许自己大一大二的时候自己不应该在在Java方面花这么多的时间,那时候课后就基本上没有去复习过数学方面的,特别是数学分析,我能考到七十几分就很高了,我们班有些女生很强,很多都能考八九十分。
    有时候,觉得我们班的有几个女生挺可惜的,学习成绩那么好,都不去考研,没有自己的职业目标(我和有些女生聊起过),现在开始在学网页设计、JSP、Photoshop什么的。可能是安徽这边的经济发展水平差一点,不少女生都是大三大四开始接触电脑的,可惜了,我一直都认为如果女孩子较早就有自己的职业爱好和目标的话,更容易比男的取得成功。
   
切入主题……
    12月6号的时候,去了一趟杭州的高新人才市场,我还以为和网上预先写的一样都是在招计算机信息方面的,囧,谁知道早已经改成阿里巴巴电话销售的专场招聘了。赶紧坐火车回学校吧,从芜湖到杭州来回有八个多小时的火车,我还是凌晨从小旅馆的房间爬起来坐火车的,自信满满地准备着积累人生的第一次求职经验……
   
    回学校后,我想做两手的准备,还打算什么时候再去趟杭州,跑跑现场的招聘会(明年应该还有几次招聘会),一边也开始在ChinaHR、51Job上网投简历,有时候还熬夜投。想想自己的简历,刚开始投的那几天,脑子里整天都充满了想象!经常盯着手机,尤其是听到来电声音的时候特兴奋,唉,原来都是我同学的短信和来电。十多天过去了,看了一下简历被浏览的记录只有7次,我已经把觉得合适自己(应届生)的三十几个职位都投了一遍,没辙,估计网投是没希望了,没有笔试面试的电话,而其它职位都需要我所不具备的一两年以上的工作经验。
    现在开始有点后悔,早些时候瑞信软件在我们学校招了六七个人,当初还看不上人家,连期望工作地点都只写了杭州(预想是想在离老家近一点的城市)。现在听我进去的同学,他们公司还不错,也有100多号人,明年会有好几个项目要开发,所以才第一次在我们学校招这么多人为明年准备的。有个同学的运气忒好,Java只是懂一两个月的皮毛而且在校成绩也不好,就在面试的时候因为项目经理因为临时有事走开,他居然过了。
    唉,原来普通大学的本科生的就业机会真的是不多,我还想着择业来着。
   
    中软国际也在我们学校招过,不过感觉他们的笔试题目特别难,都是C/C++方面的,一看题目就觉得我们学校学生的水平很难答对50分以上,记得有一道很绕脑子的C语言的指针题目,还是里面只算中上难度的:

void main()
{
	int a[9]={1,9,2,3,5,7,4,8};
	int *b=(int*)(&a+1);
	printf("%d\n",*(b-1));
}
请问会在输出什么数字?

这道题目,我回宿舍后调试了才弄明白(答案是“0”),觉得他们这种题目是给那些没事就在琢磨C语言指针的人做的,不像是有诚意过来招人哦,感觉是来打广告滴。呵呵……不知道有没有人能够看几下就知道答案,这道题目的小提示上还写着需要对C语言的指针相当熟悉而且很细心的人才能答对滴!

    感觉简历都快被我琢磨透了,真不知道是不是因为自己不是什么名牌、重点大学应届生的缘故,网投了十多天都没有什么回复。我们学校不好也不算差,算是二本中的“二本”吧,不过也没有埋怨过学校什么。呵,个人比较厌恶老是抱怨自己学校垃圾的学生,不是什么名牌、重点大学的话,能够让我好好读完书的学校就很不错咯。我简历没怎么参考什么模板,自信自己还有不错的文字表达功底,还跟同学自夸过只要哪个HR一过目我的简历就会给我个笔试或面试的机会什么的,有时候都觉得自己是好自负。
    简历不直接贴出来了,不过我截了几段出来,还是希望大家给我提点意见吧,自己可以再改改。简历上常见的内容基本上都包含了:“基本信息”、“求职意愿”、“自我评价”、“工作实践”、“专业素质”、“项目经验”、“教育经历”,连“不足之处”我都写上了,不知道是不是还少了些什么。
    
    以下是我的“自我评价”,不知道涉及的方面是不是太少了或是过于口语化?


(很长的帖子)我该如何积累求职经验?_第1张图片
感觉自己写得还不突出,没有震撼的感觉。囧,不知道什么地方能够改进一下。

    作为应届生,可能最缺乏的就是工作经验和社会磨练了。所以在“工作实践”上,我把自己觉得有代表性的都写上,不知道写太多的话,会不会太累赘有点假了。


(很长的帖子)我该如何积累求职经验?_第2张图片

 

    经常逛JavaEye论坛的求职招聘板块,发现很多简历都有很多IT技能的,感觉自己的“专业素质”有点少,没有强大的震撼力。


(很长的帖子)我该如何积累求职经验?_第3张图片

    让大家见笑了,我加了个“精通”,其实就是把《Java编程思想(第四版)》的“并发”那一章看了几遍。不加个精通,都觉得自己的“专业素质”快没亮点了,不知道这样包装了一下会不会有点虚假,被人鄙视。
   
    现在想想Java语言,比起其它这几年才兴起的语言,感觉是有点老了。不过,个人对Java平台长期看好,Sun公司很伟大,它是世界上最好的软件公司(可惜商业化很不足),它的Java开创了中间件时代,还开启了云计算时代。对有实力的公司而言,依赖于Java平台,云计算不再是天上的一朵云了。我现在有空会学学Scala语言,个人很喜欢这门语言(我不看好Erlang),新的编程模式对编程思维的改变挺大的,不管以后会不会流行,都很值得去学习一下,它从很多语言里吸收了设计思想,也有很多创新,说不定类似于Scala这样的混合型语言将来会是一种趋势呢。

    平时自己写的代码量不是很多,写了个小程序统计了一下自己写的java文件和cpp文件,去掉空行的话有差不多只有30000多行。能说得出口的就两个项目经验,小程序和Demo级别的代码居多,所以我的简历里就写了两个项目经验,我截了个出来:


(很长的帖子)我该如何积累求职经验?_第4张图片
    估计很多朋友看到“电信”两个字,我就被鄙视了。@_@ 这是我们暑假在中软国际做的,从需求分析、原型设计、概要设计……到最后的测试,一个月下来,我都瘦了四五斤,虽然是个实习项目(代码从头到尾都是我们自己写的,那里不让上外网,要什么资料的话,都向项目经理要)。


(很长的帖子)我该如何积累求职经验?_第5张图片
    “精灵人”是我们的小组名称,在那里的还有其它大学的学生,他们的学校应该都比我的要好,不过估计来的是他们学校中下水平的学生居多。
    这个暑期项目简化了不少东西(中软给电信做这个商业项目的时候,花了一年多的时间,Money当然是开很高的),特别是数据采集,我们都没有使用SNMP协议,所以数据的来源很受特定设备的限制,像路由器、交换机的性能数据都是采不了。回学校后,我学了一下SNMP的开发包SNMP4J,感觉要开发出专业级别的监测系统是有些复杂,虽然应用的原理不是很难。
    我们组没有Dreamweaver和Photoshop的高手,所以在Web开发中页面的设计真的有些痛苦,都是我自己手动布局的,图片素材他们来搞,界面很不专业,呵呵!贴几张截图吧,下面这几张图都是从“用户使用手册”里取出来的,在文档里被压缩过后有些不清晰了。


(很长的帖子)我该如何积累求职经验?_第6张图片
机器不在线的时候,换了个暗图标,那把红色小叉是用来删除机器的,界面有点糟糕,用户体验也不是很好。

 


(很长的帖子)我该如何积累求职经验?_第7张图片
只能查看当天的性能数据图表,最后一个数据点是在查看的时候即时抓取过来,其它的都是定时抓取后存在数据库里的。没办法只有一个月的时间,很多细节像分页查询都没有去实现。感觉在Web开发中,重复劳动比较多,回学校后也不想抽时间去完善了。

 


(很长的帖子)我该如何积累求职经验?_第8张图片
 
(很长的帖子)我该如何积累求职经验?_第9张图片
 
(很长的帖子)我该如何积累求职经验?_第10张图片

    再贴些代码,毕竟不是我一个人开发的,所以就贴少一点了。全部页面上就只有两个表单:

package com.jlr.telcom.web.form;
import com.jlr.telcom.model.MachineInfo;

public class MachineInfoForm extends MachineInfo {

    private String confirmLoginPassword;

    public String getConfirmLoginPassword() {
        return confirmLoginPassword;
    }

    public void setConfirmLoginPassword(String confirmLoginPassword) {
        this.confirmLoginPassword = confirmLoginPassword;
    }   
}

MachineInfoForm是从业务层Model包里的MachineInfo继承过来的,再添加了一个表单上的校验字段confirmLoginPassword,另一个表单UserInfoForm也一样,因为这些字段都跟业务层无关,而且传到业务层和Dao层的时候都会自动进行向上类型转换。

    我们在开发的过程中没有使用什么框架,所以表单的验证都直接写在代码里,没用配置文件。如果Java里能够直接调用动态语言的代码就好了,可以不用再把校验规则硬编码或是晦涩地写在XML文件里,而且还很方便修改。
    下面是com.jlr.telcom.web.validator包下Validator类的静态表单校验方法,浏览器端也用JavaScript做了。

public static String MachineInfoForm(MachineInfoForm machineInfo) {
        if (machineInfo == null) return "机器信息不合法";

        String result = "";
        String machineName = machineInfo.getMachineName();
        String ipAddress = machineInfo.getIpAddress();
        String loginUsername = machineInfo.getLoginUsername();
        String loginPassword = machineInfo.getLoginPassword();
        String confirmLoginPassword = machineInfo.getConfirmLoginPassword();
        String machineComment = machineInfo.getMachineComment();

        if (machineName == null) {
            result += "&机器名不合法";
        } else {
            if (machineName.matches("^\\s*$")) {
                result += "&机器名不能为空";
            }
            if (!machineName.matches("^[\\w\\u4e00-\\u9fa5]+$")) {
                result += "&机器名只能包含数字、字母、下划线和中文字符";
            }
            if (!machineName.matches("^.{2,16}$")) {
                result += "&机器名长度必须位于2到16个字符";
            }
        }

        if (ipAddress == null) {
            result += "&IP地址不合法";
        } else {
            if (ipAddress.matches("^\\s*$")) {
                result += "&IP地址不能为空";
            } else if (!NetUtils.isIPAddress(ipAddress)) {
                result += "&IP地址不合法";
            }
        }

        if (loginUsername == null) {
            result += "&登录名不合法";
        } else {
            if (loginUsername.matches("^\\s*$")) {
                result += "&登录名不能为空";
            }
            if (!loginUsername.matches("^[\\w\\u4e00-\\u9fa5]+$")) {
                result += "&登录名只能包含数字、字母、下划线和中文字符";
            }
            if (!loginUsername.matches("^.{0,16}$")) {
                result += "&登录名长度不能超过16个字符";
            }
        }

        if (loginPassword == null) {
            result += "&登录密码不合法";
        } else {
            if (!loginPassword.matches("^\\w*$")) {
                result += "&登录密码只能包含数字、字母和下划线";
            }
            if (!loginPassword.matches("^.{0,16}$")) {
                result += "&登录密码长度不能超过16个字符";
            }
            if (!loginPassword.equals(confirmLoginPassword)) {
                result += "&确认登录密码不正确";
            }
        }

        if (machineComment == null) {
            result += "&机器备注不合法";
        } else {
            if (machineComment.length() > 100) {
                result += "&机器备注的字数不能超过100个字符";
            }
        }

        return "".equals(result) ? "OK" : "机器信息不合法" + result;
    }

如果校验没问题的话,就返回“OK”,否则就返回一串以“&”分隔的错误信息,在JSP里用JSTL的forTokens标签遍历出来就可以了。


    我写的另一个项目经验是《编译原理》课程一个学期的实验项目,主要是一个用来解释一种简单画图语言的解释器,语法分析部分自己写的比较少,参考得比较多,当做个人项目项目写在简历了,不知道是否可行呵。“成果”就不贴出来展示了,这篇帖子已经被我写得老长,有点不好意思太损大家的眼球哈。
   
    现在大四的第一个学期也快结束了,我们这学期的课还不少,《编译原理》、《软件工程》、《人工智能导论》、《数字信号处理》……收获还是蛮多的,明年就剩下毕业设计和找工作了,现在心里还缺少一点底,还没有什么求面试的职经验,不知道JavaEye上“前辈”们的第一份工作都是啥样的。
   
    今年的寒假放得会比较长,不知道在哪里可以找到一个实习的机会,还想离家里近一点,农民家庭出身就得靠自己啦。如果JavaEye上有人能提供些实习的工作信息的话(其实,我写这篇帖子的时候就有这样的念头,这也算是一种积累求职经验的方式吧),就太感谢嗯。我在JavaEye上写的文章很少,帖子也回得不多,不过应该还能反映出些我个人的思维气质,可以作为一点参考。

你可能感兴趣的:(编程,算法,面试,swing,招聘)