日期:2014-05-20  浏览次数:20908 次

.net找工作需要懂什么技术,面试需要注意什么呢?
目前有2年以上的工作经验,但毕业后一直没换公司,因为公司职责比较轻松,就是维护网站,偶尔新增新功能,但都是在原有的框架上修改,所以接触的都是表面,发现自己不但没有学到更多的知识,反而把学校所学的忘记了大半,公司内部什么都封装好了的,包括基本的增删改查,直接调用就可以了,如果不复习的话,估计增删改查都不能一下写出来了,现在想换工作,因为工作太轻松,所以工资一直加不上去,自己也越来越懒惰,觉得对以后的发展不好,去面试过一次,没上,很受打击,不知道外面公司在.net方面都需要懂什么技术,面试需要注意哪些技巧,还有2-3年的工作经验工资开多少才合适呢?我在面试的过程中有遇到以下问题,希望大家都一起讨论一下·~~

技术点:
1. 关于反射和序列化的理解

2.关于Ajax的原理及用法

3.关于WebService及怎么调用

4.MVC怎么理解

5.关于SEO

6.存储过程(特点,用法)

7.JavaScript(优缺点)

8.Oracle

9.Jauery

10.关于IIS和服务器



遇到的问题:

1.堆与栈的区别

2.Asp.net 页面的生命周期过程

3.软件缺陷

4.软件开发阶段的过程

5.递归算法,冒泡排序

6.线程和进程的区别和定义

7.Asp.net页面之间传递值的方式,利用哪些对象存储状态

8.单例模式

9.数据结构

10.抽象,接口,类,虚函数的定义及区别


PS:感觉对很多知识点一知半解,有些技术会用,但不会表述,面试的时候又说不出个所以然来,希望大家对自己所懂的知识点说上几句,一起讨论下,争取理解更深更透彻

------解决方案--------------------
遇到的问题:

1.堆与栈的区别

2.Asp.net 页面的生命周期过程

3.软件缺陷

4.软件开发阶段的过程

5.递归算法,冒泡排序

6.线程和进程的区别和定义

7.Asp.net页面之间传递值的方式,利用哪些对象存储状态

8.单例模式

9.数据结构

10.抽象,接口,类,虚函数的定义及区别

这些不懂很发指,简单告诉你看什么书:

遇到的问题:

1.堆与栈的区别 - 数据结构
2.Asp.net 页面的生命周期过程 - 入门的 ASP.NET 教程
3.软件缺陷 - 软件测试,软件工程
4.软件开发阶段的过程 - 软件工程
5.递归算法 - 入门的编程书,冒泡排序 - 数据结构
6.线程和进程的区别和定义 - 操作系统原理
7.Asp.net页面之间传递值的方式,利用哪些对象存储状态 - 入门的 ASP.NET 教程
8.单例模式 - 设计模式
9.数据结构
10.抽象,接口,类,虚函数的定义及区别 - 入门的面向对象教材,入门的C#教材
------解决方案--------------------
你能调用别人封装好的东西..
那么面试时你可以这么说:
你能做出什么功能.你能在多少时间内做出来.给你一些试用期,做不出来马上走人.别人才不管你是不是调用别人写的.还是你自己原创的.
------解决方案--------------------
说说我的理解,纯粹凭印象写的,没有查书,可能错漏较多,欢迎拍砖。

技术点:
1. 关于反射和序列化的理解
反射是一种动态地调用assembly的方法,性能相对较差,在做某些通用接口时比较有用,因为无法在编译时间知道数据的类型。
序列化就是把对象转换成文本数据以便于存储和传输,如web service就需要将对象序列化和反序列化。

2.关于Ajax的原理及用法
Ajax的基本原理就是不提交页面,而是向服务器发一个XmlHttpRequest请求(通常是异步请求,虽然jquery里有个同步的选项,具体实现细节不清楚),将返回的html或其他数据(如json字符串)填充页面的某个区域,从而实现页面的部分刷新,提高程序的响应速度。
具体用法,一是最基本的javascript,直接使用XmlHttpRequest对象,另外也可以利用各种第三方的库,如微软的ajax库,jquery的$.ajax方法等。

3.关于WebService及怎么调用
web service本质上是基于xml和http协议的远程过程调用(RPC)。基本原理是服务端将公开的方法,调用地址等信息描述在wsdl文本文件里,客户端根据wsdl的描述生成代理程序,调用时,客户端将对象序列化后发到服务端,服务端反序列化,将运行结果序列化后发回客户端。客户端再反序列化。

4.MVC怎么理解
一种设计模式,典型实现如java的swing类库,微软的asp.net mvc等。程序分成三层,View向Controller发请求,Controller通过Model层获得数据,再返回View层。Model层数据有改变时,通过Controller通知View做相应的改变。
分层的目的是为了尽量分离用户界面,业务逻辑和数据,使大型程序便于维护。不过具体实现时,View层很难一点业务逻辑都没有,特别是现在倾向胖客户端的情况下,Controller层容易过肥,也不容易维护。

5.关于SEO
大致是指通过页面元数据和内容的调整,提升网站在搜索引擎中的排名,从而提高网站知名度的技术。具体实现笼统知道一点,但具体使用很少,不太了解。

6.存储过程(特点,用法)
存储过程是放在数据库里预先编译好的一段sql程序。因为预先编译好,所以执行的时候效率较高,这是存储过程的主要优点。不过现在的数据库,对于同样的sql,即使不是存储过程,也会通过cache,获得和存储过程差不多的性能。以前(20年前)存储过程和触发器是业务逻辑集中的地方,现在这种设计模式已经不太使用,因为存储过程调试相对不太方便,字符处理相对较弱等。
缺点还有不同的数据库有不同的存储过程,不如标准sql通用。

7.JavaScript(优缺点)
优点在Javascript: The Good Parts一书里说得很清楚。比如最大的优点是浓厚的函数式编程风格,基于原形的继承系统,函数是一级公民等等。个人体会较深的一点是它的动态语言特性特别适合web程序,对于解析json数据,转成对象特别方便,不需要静态语言的那种反序列化,另外javascript本来就是用来处理网页的,处理网页元素自然特别方便。
缺点是缺少好的ide,调试不如静态语言方便。另外全局变量很烦人。

8.Oracle
速度快,特别是处理海量数据有优势;稳定;PL/SQL很强大,有些sql扩展很方便,如select里的connect by处理递归比sql server方便多了;还有配套的Forms开发工具(现在大概用得少了吧)。
Oracle有些方面的设计和别人不同,刚用可能会有不适应,具体忘了

9.Jquery
javascript的一个类库。最大优点是至少部分解决浏览器兼容性问题,查找网页元素很方便,提供了很多好用的控件,ajax使用比较方便

10.关于IIS和服务器
IIS是微软做的web服务器,7.0增加了集成模式,便于用程序控制

目前有2年以上的工作经验,但毕业后一直没换公司,因为公司职责比较轻松,就是维护网站,偶尔新增新功能,但都是在原有的框架上修改,所以接触的都是表面,发现自己不但没有学到更多的知识,反而把学校所学的忘记了大半,公司内部什么都封装好了的,包括基本的增删改查,直接调用就可以了,如果不复习的话,估计增删改查都不能一下写出来了,现在想换工作,因为工作太轻松,所以工资一直加不上去,自己也越来越懒惰,觉得对以后的发展不好,去面试过一次,没上,很受打击,不知道外面公司在.net方面都需要懂什么技术,面试需要注意哪些技巧,还有2-3年的工作经验工资开多少才合适呢?我在面试的过程中有遇到以下问题,希望大家都一起讨论一下·~~