数据库

1.数据库唯一索引unique、聚集索引clustered、非聚集索引nonclustered的用途和区别,优缺点:https://www.cnblogs.com/xiaoweigogo/p/7778781.html
语法:create [unique|clustered|nonclustered] index ix_name on tableName(column1 desc|asc,column2 desc|asc,...)
索引不生效的SQL语句:对索引使用了函数、like、in、数据类型转化cast、负向比较where 1=id
2.数据库函数和存储过程的用法和区别。
区别:https://www.cnblogs.com/eer123/p/7880032.html
函数:https://www.cnblogs.com/xsj1989/p/5354910.html
存储过程:https://www.cnblogs.com/xiangzhong/p/5038338.html

3.数据库游标的使用。
4.数据库的事务的使用语法,优缺点,事务的级别,分布式事务。
5.数据库作业、定时计划。
6.什么是NoSql。(优缺点)
7.什么是非关系型数据库,什么是关系型数据库。(优缺点)
8.非关系型数据库MangoDB,redis,用途。
9.MySql的使用,自定义函数,存储过程,事务,锁,索引,表分区;mysql的MyISAM和InnoDB的区别。
10.具有一定的数据库设计经验
11.sql优化:http://www.cnblogs.com/hgmyz/p/7039597.html

C#

1.session、aspx页面、cookie 的生命周期

2.MVC请求机制

3.冒泡排序,很少使用,一般直接用list.Sort默认升序,降序list.Sort((x, y) => -x.CompareTo(y));

            int[] arr = new int[] { 2, 3, 9, 6, 3, 5, 10, 8 };
            for (int i = 0; i < arr.Length - 1; i++)
            {
                //第i趟比较
                for (int j = 0; j < arr.Length - i - 1; j++)
                {
                    //开始进行比较,如果arr[j]比arr[j+1]的值大,那就交换位置
                    if (arr[j] < arr[j + 1])
                    {
                        int temp = arr[j];
                        arr[j] = arr[j + 1];
                        arr[j + 1] = temp;
                    }
                }
            }

            for (int i = 0; i < arr.Length; i++)
            {
                Console.Write(arr[i] + ",");
            }

 自定义排序:需要排序的类实现IComparable接口:stus.Sort();,或者单独一个类实现这个接口:stus.Sort(new CComparer());,或者在拉姆达表达式中CompareTo:stus.Sort((x, y) => x.age.CompareTo(y.age));

public class CComparer : IComparer<Student>
    {
        public int Compare(Student left, Student right)
        {
            if (left.age > right.age)
                return 1;
            else if (left.age == right.age)
                return 0;
            else
                return -1;
        }
    }
    public class Student : IComparable<Student>
    {
        public int age { get; set; }
        public string name { get; set; }
        public int CompareTo([AllowNull] Student other)
        {
            if (this.age > other.age)
            {
                return 1;//升序
            }
            else if (this.age == other.age)
            {
                //age相同,按名称默认升序
                return this.name.CompareTo(other.name);
            }
            else
            {
                return -1;//降序
            }
        }
        public override string ToString()
        {
            return this.age + "/" + this.name;
        }
    }

 4.线程、委托、事件、多线程异步执行

5.设计模式(单例、简单工厂、抽象工厂、策略模式、观察者模式、命令模式、装饰模式等基本的模式)

6.IOC控制反转,IOC容器;DI依赖注入。

7.熟悉一到两种ORM框架(NHibernate、EntityFramework、ActiveRecord、Dapper等)

8.C#中Struct和Class的区别

9.WCF 的使用;WCF的ABC是什么(Address 地址、Binding 绑定、Contact 契约)。

10.MVC的仓储Repository的使用

11.WebApi如何实现跨域(jsonp、CORS),具体方法看我写的文章。

12.JS是如何面向对象的;js闭包;二维数组;浅copy与深copy;JS继承。

13.SSO单点登录 解决方案;单设备登录,同一个账户只允许在一台设备上登录(仿照QQ)。

14.Bootstrap的使用;jquery、ext、value.js、angularjs、jstree

15.大数据的处理

16.分布式系统(负载均衡、CDN等)

17.系统测试:压力测试、性能测试;掌握测试工具的使用。 

18.提高性能的方法:https://www.cnblogs.com/hgmyz/p/7039587.html

19.Memcached使用:https://www.cnblogs.com/xsj1989/p/9089924.html

暂时这么多,都是我面试的时候人家问我的问题,供参考。

写了这么多,真觉得软件开发不是人干的,要会这么多东西,都TM是超人么???

架构师面试:https://www.cnblogs.com/cyq1162/p/9073634.html
Redis面试:https://www.cnblogs.com/extjs4/p/14433962.html

posted on 2017-08-16 09:45  邢帅杰  阅读(228)  评论(0编辑  收藏  举报