经过昨天大量的简历投递,今天陆续收到面试邀约,明日准备大战一场,是死是活一试便知

1.数据库的范式

这算入门问题了吧,但凡是个数据库类的,都得问吧,

但我们在回答的时候开始背书啦

第一范式(1NF)无重复的列

第二范式(2NF)属性完全依赖于主键 [ 消除部分子函数依赖 ]

第三范式(3NF)属性不依赖于其它非主属性 [ 消除传递依赖 ]

还有什么BCNF,是不是看了好像十分清楚,但不看又好像懵懵懂懂的。

说个我的记忆方式吧

第一范式,1NF,无重复列,字段不冗余且必不可少。这必须得记住

第二范式,2NF,满足第一范式且表必须有主键

第三范式,3NF,满足第二范式且表引用其他表必须通过主键引用

以上是不是好些了呢,这个时候你以为回答完毕就又被面试官给逮着了,你提到了主键了吧

开始扩展问了,数据库建立主键的原则

我们常常会蒙,原则,什么原则,不就是我们常常用到的ID,自增长吗,唯一性,好像没什么原则吧。

其实很多在日常的工作中我们已经注意了,只是不知道如何描述

关于原则内容内容,可以拜读:http://www.cnblogs.com/studyzy/p/3309350.html

分析得十分透彻,特别是其中提到的 《数据库主键与业务主键》。可以用此和面试官好好谈谈,这样会显得你对此有深入的研究,提升自己的实力形象

提到主键,就会继续发展到索引,随便问个数据库有哪几种索引,这个基础吧

A)聚集索引,表数据按照索引的顺序来存储的。
B)非聚集索引,表数据存储顺序与索引顺序无关。

关于索引:http://kb.cnblogs.com/page/45712/

继续往下问的话就是数据库优化方面来,横向分区,纵向分表

这可以参考:http://www.cnblogs.com/yukaizhao/archive/2010/05/31/sql-server-table-split-partition.html

以上我都点到即止,会的同学,会心一笑即可,不会的同学,愿意的,复制链接去看看吧,能增强内力的

最后推荐一篇SQL Server高性能写入方面的文章:http://kb.cnblogs.com/page/156213/

2.C#中,值类型和引用类型的区别

很多时候,我们由于没有把这个底层问题搞清楚,导致我们的程序看起来好像是对的,但运行的结果不符合我们的期望

百度的这篇文章:http://jingyan.baidu.com/article/7082dc1c524b14e40b89bd6d.html

很形象的解释了值类型和引用类型以及堆和栈,你还记不住什么是堆的话,文章中的三角形一样的图片,那是个堆的形状吧,形意结合,是不是清楚了很多。

记得要补充,不同的值类型,在栈中分配的空间大小不一样。不同的引用类型,在栈中分配的空间上一样的,在堆中空间不一样

C#的所有值类型均隐式派生自System.ValueType:

如 Sbyte,byte,short,int,long,DateTime,ushort,unit,ulong,char,float,double,decimal,bool,struct,enum,还有可空类型,如int?是值类型

引用类型:数组,类,接口,委托,Object,String

例外情况来了,一定要说:值类型的实例会存储在栈上,但是,当某个类的实例有个字段是值类型,那么实际该字段会和类的实例保持在同一个地方,即堆上。是不是突然高大上了

别慌,这个只是入门,面试官开始扩展了

String 能不能继承!!!

F12我们发现,string是被sealed修饰的。

英文不好了吧

sealed :密封,

故名思义,就是由它修饰的类或方法将不能被继承或是重写。

再继续追问下去就可以扩展到诸如override,和overload等等方面的关键字上面了

关于override 和 overload 参考:http://www.cnblogs.com/netlyf/archive/2009/09/08/1562642.html

还有如Final,finaly,finallize的区别

final 修饰符(关键字)如果一个类被声明为final,意味着它不能再派生出新的子类,不能作为父类被继承。因此一个类不能既被声明为 abstract的,又被声明为final的。将变量或方法声明为final,可以保证它们在使用中不被改变。被声明为final的变量必须在声明时给定初值,而在以后的引用中只能读取,不可修改。被声明为final的方法也同样只能使用,不能重载。 一句话:final修饰类时:没有祖先的光棍(不能继承也不能被继承),final修饰变量或者方法时:固定的,只能拿来用,不能改。

finally 在异常处理时提供 finally 块来执行任何清除操作。如果抛出一个异常,那么相匹配的 catch 子句就会执行,然后控制就会进入 finally 块(如果有的话)

3、finalize 方法名。使用 finalize() 方法在垃圾收集器将对象从内存中清除出去之前做必要的清理工作。这个方法是由垃圾收集器在确定这个对象没有被引用时对这个对象调用的。它是在 Object 类中定义的,因此所有的类都继承了它。子类覆盖 finalize() 方法以整理系统资源或者执行其他清理工作。finalize() 方法是在垃圾收集器删除对象之前对这个对象调用的。

PS,摘自网络

Final并不是一个C#中的关键字,但经常在C#面试题中出现,例如说说“Final、Finally、finalize的区别”,其实这已经超出C#的范畴,这三个关键字分别考核了J#、.Net 容错方法、.Net垃圾收集机制,奇怪的是,每次我面试C#程序人员时,大部分人员对Final这个关键字并无陌生之感,相反却答得头头是道,看来来面试之前,早在网上有所预习,呵呵。

以上,只为博君一笑,明天加油!

面试前的准备---C#知识点回顾----02的更多相关文章

  1. 面试前的准备---C#知识点回顾----03

    经过一天的奔波,喜忧参半,不细表 再回看下标题,C#知识点回顾 再看下内容,数据库3NF 原谅我这个标题党 今天继续回忆 1.HTTP中Post和Get区别 这忒简单了吧,大家是不是感觉到兴奋了,长舒 ...

  2. 面试前的准备---C#知识点回顾----05

    技术博客还得继续写,工作还在筛选,学习还得继续 1.Session和Cookie的使用区别 很容易回答的就是Session在服务器端,存储的数据可以较大容量,比如我们存一个Table,上千条数据. C ...

  3. 面试前的准备---C#知识点回顾----04

    播下的种子,慢慢开始发芽收获了,陆陆续续offer就来了,该轮到我挑的时候了 今天面试的一家公司,技术问的相对宽广和细致,程度令人发指 1.谈谈ViewState 这个问题,回答的好,工资翻一级 基本 ...

  4. 面试前的准备---C#知识点回顾----01

    过完年来,准备找份新工作,虽然手里的工作不错,但树挪死,人挪活.咱不能一直在一个坑里生活一辈子,外面的世界毕竟是很美好的. 为了能正常的找到自己中意的工作,最近是将所有的基础知识拿出来复习了一次.仅作 ...

  5. 前端知识点回顾——HTML,CSS篇

    前端知识点回顾篇--是我当初刚转行为了面试而将自己学过的前端知识整理成的一份笔记,个人目的性很强,仅供参考. doctype 有什么用 doctype是一种标准通用标记语言的文档类型声明,目的是告诉标 ...

  6. Java面试前需要了解的东西

    一.前言 只有光头才能变强 回顾前面: 广州三本找Java实习经历 上一篇写了自己面试的经历和一些在面试的时候遇到的题目(笔试题和面试题). 我在面试前针对Java基础也花了不少的时间,期间也将自己写 ...

  7. 从面试连跪到收割offer,回顾我的春招面试历程(研发岗位)

    本文首发于自微信公众号[程序员江湖] 作者How 2 Play Life,985 软件硕士,阿里 Java 研发工程师,在技术校园招聘.自学编程.计算机考研等方面有丰富经验和独到见解,目前致力于分享程 ...

  8. 最近面试java后端开发的感受:如果就以平时项目经验来面试,通过估计很难——再论面试前的准备

    在上周,我密集面试了若干位Java后端的候选人,工作经验在3到5年间.我的标准其实不复杂:第一能干活,第二Java基础要好,第三最好熟悉些分布式框架,我相信其它公司招初级开发时,应该也照着这个标准来面 ...

  9. 95%的技术面试必考的JVM知识点都在这,另附加分思路!

    概述:知识点汇总 jvm的知识点汇总共6个大方向:内存模型.类加载机制.GC垃圾回收是比较重点的内容.性能调优部分偏重实际应用,重点突出实践能力.编译器优化和执行模式部分偏重理论基础,主要掌握知识点. ...

随机推荐

  1. jquery操作iframe

    query取得iframe中元素的几种方法 在iframe子页面获取父页面元素 代码如下: $('#objId', parent.document); // 搞定... 在父页面 获取iframe子页 ...

  2. FpSpread添加表头(列名)标注

    for (int j = 0; j < fp.ActiveSheetView.ColumnCount; j++) { fp.ActiveSheetView.ColumnHeader.Cells[ ...

  3. Android -------- 使手机状态栏背景颜色和activity的一致

    Activity类中: @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInsta ...

  4. Proguard 保留native methods的问题

    发现一个奇怪的问题,如果使用下面的配置来keep的话,native的方法还是被删掉了,百思不得其解. -keepclasseswithmembers class * {     native *; } ...

  5. 关于垂直切分Vertical Sharding的粒度

    转载原文地址 http://blog.csdn.net/bluishglc/article/details/6274841 垂直切分的粒度指的是在做垂直切分时允许几级的关联表放在一个shard里.这个 ...

  6. VC获取当前程序运行路径

    /***************************************************/ /* 函数: 获取当前程序运行的路径 /* 返回: 当前程序运行路径 C:\AAA\BBB\ ...

  7. VC中遍历目标进程中的模块

    VC中遍历目标进程中的模块 MFC代码win32 也可以用 在下面代码进行修改转换就可以了CString strModule; 可以换成 char* 但是MODULEENTRY32结构中的szModu ...

  8. lightOJ1370 欧拉函数性质

    D - (例题)欧拉函数性质 Crawling in process... Crawling failed Time Limit:2000MS     Memory Limit:32768KB     ...

  9. UIP协议栈

    UIP协议栈笔记 http://blog.chinaunix.net/uid-23247944-id-2974928.html

  10. eclipse Content Assist 无法使用,不能自动补全的解决办法

    今天用eclipse写JAVA代码,写着写着突然,eclipse 的自动补全功能失效了,没办法自动补全.折腾半天,终于解决了. 在window->Preferences->Java-> ...