对于如何招聘还不是我们这些程序员该考虑的事情,但是对于应聘需要我们好好的进行思考,应聘也是需要很多技巧的,就在昨天笔者也进行了一次应聘,经历了应聘的全过程,这里就来谈谈对于应聘的一些感悟,对于一些应聘的问题进行讨论剖析。

一、应聘过程

对于应聘正如我们所了解的可能会分为很多步骤,其中最主要的分为三步,首先是投递简历,其次是笔试,接下来进行面试,当然如果我们被应聘上了最后的一步就是讨论薪资和户口等问题。
       简历投递技巧就不在详述,网上类似的文章内容会有很多,详细的技巧请上网查阅吧。应聘过程中需要注意的一些问题这里也不再详述,可以去网上下载一本《程序员面试宝典》这本书已经出到第四版了,里面详细说明了有关应聘的很多问题。

二、说说笔试

笔试的内容来详述下,对于开发人员无论是大公司还是小公司,笔试是必不可少的一项内容,就在昨天笔者面试的公司也进行了笔试,但最后去的时候却忘记了带上纸和笔,不要说我孤陋寡闻,或者是沽名钓誉,稍稍解释下在通知进行面试的时候只是提了有可能进行笔试的内容,结果由于一时高兴忘记了带上笔试工具,在此也告诫大家无论是不是进行笔试,在进行面试的时候一定要带上工具,做好充足的准备。
       谈到了笔试那就来说说笔试之前的准备工作,有开发经验的程序员笔试就会相当的简单,但对于没有开发经验的程序员那笔试无疑是一场硬仗。虽然是硬仗但也是有获胜的机会的,其实很简单那就是充足的准备,接下来就来看看该准备哪些东西。
      在笔试之前充足的准备必不可少,但是需要准备的内容会很多所以需要找些技巧,针对性的进行准备。

1、针对面试的公司
       此话怎讲,难道公司面试也有敲门?这是当然的,从笔试的内容及难度看,每个公司每年的笔试题的难度是类似的,而且笔试的内容可能也会很相似,如果特别想要进入某一公司的话不妨针对性的练习下那个公司往年的笔试题,把握住方向这样笔试会变的简单。

2、针对项目
       这里所说的项目可能是和外包有关,也可能它们公司所用的技术是固定的,如:.NET或者Java,某一个项目特别需要人手,这时笔试题往往会和它们项目的技术有关,在准备笔试的时候不妨也考虑下它们的项目需求。拿笔者昨天笔试的公司来说,公司开发使用的是.NET的B/S项目,所以在笔试时很多有关Vs的使用及Asp.NET的内容。

对于笔试的内容无非是技术的相关内容,针对昨天面试的内容进行了总结,上图为技术的大致内容。下面逐个进行说明。

三、IDE

首先从IDE说起,IDE是程序开发必不可少的工具,所以有关它的使用也是笔试时常考的内容,就在昨天的面试过程中,同样也考到了有关IDE使用的技巧,虽然不是很困难,但也没能拿到满分。
        这部分可能会考到有关的开发工具的快捷键,快捷键是高手必备的素质,作为程序开发人员只要是有经验的开发人员在进行开发时都会用到快捷键,灵活的掌握和使用快捷键能够提高程序开发的效率,真正的高手要脱离鼠标只使用快捷键就能够掌控全局。快捷键的使用需要进行长期的培养,首先是要熟悉常用的快捷键,其次是使用,多多积累,当然最主要的是每次在使用新工具时都要有意识的去查看和使用快捷键。

另外还有就是调试工具的使用技巧,而且也是笔试的重点,这类题是检验是否是高手的利器。在程序开发过程中调试是必不可少的,即使是高手也免不了对程序进行调试,那么如何使用调试工具快速的找到程序的bug就是高手们需要思考的问题了。想要了解一个开发人员是否是高手只需要问他程序出错时如何进行调试即可,是高手还是菜鸟只要通过这个问题一验便知。通过上面的讨论也可以看出想要在面试的时候进入高手的行列,就必须掌握调试的高级技巧,类似于我们常用的添加断点、逐句、逐段的调试方法都是最低级的,在遇到了多层循环、死循环、几千次甚至几万次循环的时候上面的方法就不适用了。
        还有是在循环过程中,如何在达到指定的条件时循环停止进入调试的状态,这个问题有没有思考过?当遇到执行几千次设置几万次循环的时候,我们不能在使用简单的调试方法了。真正的高手能够在循环中指定调试的进入状态,并能够灵活的运用IntelliTrace。(下篇博客将会着重讨论调试的技巧)

有关IDE的笔试内容还有更多,这里不再详述,可以在网上查找些有关IDE笔试的题目,针对性的练习。

四、面向对象

面向对象是现在编程中最主流的编程方法学,所以对面向对象的理解程度也是笔试过程中常会考到的内容。相信只要是程序员都采用过面向对象的思想开发过程程序,那问个问题您对面向对象理解多少?只知道类和对象,这是菜鸟级的水平,高手理解的面向对象远非这些。面向对象是老生常谈,程序员天天进行面向对象编程,有没有反问过自己对面向对象理解到了什么程序?面向对象的三大性质封装、继承、多态有没有深刻思考过,尤其对于多态,是面向对象最复杂的内容,有没有进行思考过?如果没有,那是时候再好好温习下面向对象了,这是基础也是很重要的理论。
       笔者针对昨天面试的内容进行了一些总结,这些内容虽然很基础很简单,但真正考起来您还未必能拿高分。下面的内容是基于C#语言的,笔者进行了实测,其它类型的语言需要自测。
      1、虚函数:使用virtual标示,没有限定的使用条件,但是不能够在接口中出现,因为接口中的方法本身属于抽象方法;虚方法中能够有具体的实现;如果父类中包含虚方法的声明,在子类中可以不重写。
      2、接口:一个类可以实现多个接口,一个接口可以由多个类来实现;接口之间也可以进行继承,但是接口不能继承类;能够声明接口,但不能实例化接口,接口只能用来被实现;
      3、抽象类:能够声明,不能被实例化;类中的方法能够具有具体的实现;抽象类能够继承其它类,也能够继承抽象类,同样能够实现接口。
      4、抽象方法:接口中的方法是抽象方法;抽象方法只能出现在抽象类及接口中,如果出现在抽象类中需要使用abstract标示出某一个方法为抽象方法;抽象方法必须在子类中进行重写;抽象方法没有具体的实现;
      5、重写/重载/覆盖
      6、类之间的关系,依赖、继承、关联、聚合、组合
      面向对象的内容还有很多需要我们复习的地方,不再详述请翻阅其它书籍。

五、数据库

谈到程序设计就不得不说说数据库了,它是程序设计中至关重要的一部分,数据库设计的好坏旺旺决定了程序设计的难易程度,所以数据库也是笔试必考的内容。
从昨天的笔试内容和面试的问题来看,数据库主要从三个方面来考察。1.表设计,2、查询语句,3、Linq。

1、表设计

数据库表的设计至关重要,在笔试的时候可能会涉及到表的主外键的考察,确定表的主键,这里一定要注意陷阱,有经验的开发人员在设计表结构的时候会让主键唯一,而且选择字段最少的候选键,如果一张表的主键包含的字段超过一个那建议将这张表进行拆分,建立关系表。
       如题:有一个关系,员工(员工号,姓名,性别,爱好),员工号能唯一确定一条记录,但是一个员工有多个爱好,请问在设计表时主键应为()
                  A、员工号+爱好    B、姓名    C、员工号

       这道题应该选C,只能是员工号,在建表的时候至少需要创建两张表,因为如果一张表的话数据会冗余。

2、SQL语句

SQL语句在程序设计中相当重要,好的SQL语句能够大大提高程序运行效率,很大程度上减少程序代码的编写,SQL语句的优化也是高手的体现。不要以为能写几个连接查询、分组查询、用几个数据库函数就很牛了,SQL还有很多你不知道的内容。另外还有就是函数的使用,使用SQL函数能简化查询语句,所以要多掌握些SQL函数。在笔试的时候可能会问到一些查询问题,如查询一张表中从20行到30行的内容,数据库的行转列问题等等。

3、Linq

这个名词不是很新了,很早以前就接触过,当时没有对它进行深入的了解,昨天面试的时候考察了这个问题,那来看看它是什么意思。Linq是Language-Intergate Query,语言集成查询,它是从vs2008后开始有的强大的查询语句,能够在C#和Vb.net上使用,能够对 Sql和XML等进行操作。(有关更多Linq的内容将会在下篇博客中讨论)

六、Asp.net

Asp.net的页面生命周期是面试.NET的B/S开发的时候经常会问的问题,菜鸟级的开发人员只知道使用Load、DataBinding事件,真正的高手要熟悉整个页面的生命周期。笔者昨天面试的公司同样也问到了这个问题,扪心自问下我们对页面生命周期知道多少?亡羊补牢为时未晚,笔者对页面生命周期的事件进行了一些整理,下面详述下。

PreInit

在启动阶段完成之后、初始化阶段开始之前引发。

注意:如果请求是回发请求,则控件的值尚未从视图状态还原。如果在此阶段设置控件属性,则其值可能会在下一事件中被覆盖。

Init

在所有控件都已初始化且已应用所有外观设置后引发。 各个控件的Init事件在页的Init事件之前发生。使用该事件来读取或初始化控件属性。

InitComplete

在页的初始化阶段结束时引发。使用此事件对要在下一个回发后务必保留的视图状态进行更改。

PreLoad

在页为自身和所有控件加载视图状态之后以及处理Request实例包括的回发数据之后引发。

Load

Page对象对Page对象调用OnLoad方法,然后以递归方式对每个子控件执行相同操作,直到加载完本页和所有控件为止。 各个控件的Load事件在页的Load事件之后发生。

控件事件

使用这些事件来处理特定控件事件,如Button控件的Click事件或TextBox控件的TextChanged事件。

LoadComplete

在事件处理阶段结束时引发。对需要加载页上的所有其他控件的任务使用该事件。

PreRender

在Page对象创建呈现页所需的所有控件(包括组合控件的子控件)之后引发。

在呈现阶段开始之前,使用该事件对页或其控件的内容进行最后更改。

PreRenderComplete

在设置了 DataSourceID 属性的每个数据绑定控件调用其 DataBind 方法之后引发。

SaveStateComplete

在为页和所有控件保存视图状态和控件状态之后发生。

Unload

首先针对每个控件引发,继而针对该页引发。

有关更多页面生命周期的内容请翻阅:http://msdn.microsoft.com/zh-cn/library/ms178472.aspx。

结语

笔试部分的内容还有很多,本文主要是针对面试的主要问题进行了一些整理,希望能帮助面试.NET开发的程序员,在笔试时注意上面的一些问题,拿到期望的offer还是相当容易的,最重要的是准备,即使是很有经验的程序员参加笔试也不一定能够拿到高分,相反的经过准备的外行人可能在笔试的时候脱颖而出,所以需要针对性的去准备。

【北京之旅】--程序员应聘技巧之笔试相关推荐

  1. 36 岁程序员应聘被公司领导直接拒绝;字节跳动:公司暂不具备上市条件;财务软件 bug 致数百人被错误定罪|极客头条...

    「极客头条」-- 技术人员的新闻圈! CSDN 的读者朋友们早上好哇,「极客头条」来啦,快来看今天都有哪些值得我们技术人关注的重要新闻吧. 整理 | 梦依丹 出品 | CSDN(ID:CSDNnews ...

  2. C/C++程序员应聘常见面试题深入剖析

    为什么80%的码农都做不了架构师?>>>    C/C++程序员应聘常见面试题深入剖析 1.引言 本文的写作目的并不在于提供C/C++程序员求职面试指导,而旨在从技术上分析面试题的内 ...

  3. 前端、程序员面试技巧——完美回答

    1.请你自我介绍一下你自己? 回答提示: 1)先向面试官问好,比如:您好/上午好/下午好,两人以上说各位面试官大家好,我叫XX. 2)回答思路:一般人回答这个问题过于平常,只说姓名.年龄.爱好.工作经 ...

  4. 北京BigData好程序员京东云共建北京首期开班

    千锋教育与京东云强强联合,打造大数据人才共建课程,专注培养实战型大数据架构师!在今天,我们迎来了千锋旗下好口碑职教实力品牌--好程序员大数据学科,与京东云共建的"京东云X好程序员" ...

  5. 8条体面的程序员偷懒技巧

    对程序员来说,每天8小时的辛苦编码往往让大家颇为疲惫.还好,我们有8条体面的程序员偷懒技巧,让我们得以在辛勤的编码之余,体验些许放松时光. 1.将你所有的代码与SourceSafe同步  2.如果MS ...

  6. 好程序员Python培训分享Python程序员面试技巧

    好程序员Python培训分享Python程序员面试技巧,往年的这个时候,"金三银四"的招聘热潮已经扑面而至.今年,因为疫情的影响,各大公司的社招可能跟"2002的第一场雪 ...

  7. 程序员小技巧------win7和win10通过局域网打印连接的方法

    程序员小技巧---------局域网打印连接的方法 文章目录 前言 一.什么是局域网打印连接? 二.操作方法 1-5.主机 6-7.其他控制计算机 总结 前言 打印机通常是通过usb数据连接线打印,但 ...

  8. 程序员应聘阿里P7岗,面试都过了,结果栽在背景调查!(你请注意了!)

    大厂是很多程序员都梦寐以求都想进的,尤其阿里,在国内是顶尖的互联网公司,程序员们挤破头颅,用尽所有方法都在渴望获得一席之位! 最近一名程序员应聘阿里旗下企业支付宝,所有面试都通过了,结果却败在了背景调 ...

  9. java程序员应聘优秀简历

    年 龄:22 姓 名:___ 性 别:男 联系电话:____ 联系邮箱:____ 现住址: 专 业:计算机网络与电子商务 择业目标 Java软件工程师 基于Oracle数据库,MySQL数据库,Web ...

最新文章

  1. pycharm中一直跳出updating indices...indexing
  2. 堆排序(heap_sort)
  3. 5G专网为“江南皮革厂”带来了什么?
  4. redis 哨兵 异步_redis 使用历程
  5. [html] 如何让<p>测试 空格</p>这两个词之间的空格变大?
  6. 如何在VS2013中隐藏引用计数?
  7. 系统学习深度学习(四十一)--AlphaGo Zero强化学习原理
  8. 苹果Mac 下 Parallels Desktop “无法连接到 Parallels 服务”如何解决?
  9. 一次防火墙无法重启的排查过程和总结
  10. cantor数表 and nyoj85有趣的数
  11. PMP 风险应对措施 :规避和减轻的区别
  12. java更新word文档目录页码
  13. 如何使用PPT制作机器学习模型图
  14. java and android_java jvm和android DVM区别
  15. Shader step函数实现线条拼色
  16. SQL-10-14 4-4 查询具有最高价格的机器的型号,机器包括PC、Laptop、Printer (10分)
  17. unity生成二维码
  18. word排版案例报告_导师:论文排版都搞不好,你拿什么去投稿?!
  19. 最小二乘拟合n阶多项式【Matlab】
  20. 战地服务器名字不显示号码的电话软件,打电话显示虚拟号码的软件,教你打电话隐藏号码...

热门文章

  1. vga转html电脑打不开,HDMI转VGA常见故障及排除方法?
  2. VS2015下opengl的freeglut,glew以及gltools库的配置
  3. 扒一扒坑人的“微信支付”SDK开发文档
  4. 程序员中"5%神话";刘未鹏:为什么你应该写博客
  5. 五、输入输出管理(一)外部存储器管理
  6. 显示器窗口分屏双显示器电脑安装指南
  7. python画spc控制图_SPC系列8:如何选择计数型数据的SPC控制图?
  8. 人工智能需要的数学基础
  9. android魔方计时器,魔方计时器
  10. 华为诺亚方舟实验室(智能工业视觉组)招聘实习生