• 求职路 第二章 技术篇


    TZH的笔试,问题主要出现在t-sql上。

    笔试原题:

    id  value
    1 1
    2 1
    5 2
    6 2
    8 3
    9 3

    难:求按id排序的分组统计

    id value
    1 2
    2 4
    3 6

    中:按奇数分组统计

    低:统计分组

    扩展1:

    有一张学生表,字段有id,cid,name,cid,score,求品均成绩小于60的学生的。

    /*
    Navicat MySQL Data Transfer
    Source Host : localhost:3306
    Source Database : tzh
    Target Host : localhost:3306
    Target Database : tzh
    Date: 2012-02-14 21:58:36
    */

    SET FOREIGN_KEY_CHECKS=0;
    -- ----------------------------
    --
    Table structure for student
    --
    ----------------------------
    DROP TABLE IF EXISTS `student`;
    CREATE TABLE `student` (
    `id` int(4) NOT NULL,
    `sid` int(4) default NULL,
    `name` varchar(200) default NULL,
    `cid` int(4) default NULL,
    `score` int(4) default NULL,
    PRIMARY KEY (`id`)
    ) ENGINE=InnoDB DEFAULT CHARSET=gbk;

    -- ----------------------------
    --
    Records of student
    --
    ----------------------------
    INSERT INTO `student` VALUES ('1', '1', '1', '1', '50');
    INSERT INTO `student` VALUES ('2', '1', '1', '2', '60');
    INSERT INTO `student` VALUES ('3', '1', '1', '3', '70');
    INSERT INTO `student` VALUES ('4', '1', '1', '4', '80');
    INSERT INTO `student` VALUES ('5', '2', '2', '1', '50');
    INSERT INTO `student` VALUES ('6', '2', '2', '2', '60');
    INSERT INTO `student` VALUES ('7', '2', '2', '3', '55');
    INSERT INTO `student` VALUES ('8', '2', '2', '4', '67');


    select cid,name,avg(score) from student group by cid having score<60

    解答的时候愣是没想起来having,用了where被指出错误,还没想起来,后来还是面试官告诉的我,悲催啊。

    扩展2:

    有一张临时表temp,字段为id,value,有一张表A,字段也为id,value。将临时表更新到A表。

    update a t1 , temp t2  set t1.value = t2.value where t1.id = t2.id ;

    扩展3:

    有一张临时表temp,字段为id,value,有一张表A,字段也为id,value。将临时表插入到A表中。

    insert into A(id,value) select id,value from temp

    insert into A(id,value) select t.id,t.value from temp as t where t.id not in(select a.id as id from A as a);

    YFWL

    1堆和栈的区别?

    负责保存我们的代码执行(或调用)路径,而则负责保存对象(或者说数据,接下来将谈到很多关于的问题)的路径。

    2死锁的条件,解决死锁的办法?

    死锁是指在一组进程中的各个进程均占有不会释放的资源,但因互相申请被其他进程所站用不会释放的资源而处于的一种永久等待状态。死锁产生有四个必要的条件:互斥条件,不可剥夺条件,部分分配,循环等待。

    措施:
    1、采用资源静态分配策略,破坏"部分分配"条件;
    2、允许进程剥夺使用其他进程占有的资源,从而破坏"不可剥夺"条件;
    3、采用资源有序分配法,破坏"环路"条件。
    解决死锁的另一条途径是死锁检测方法,这种方法对资源的分配不加限制,即允许死锁的发生。但系统定时地运行一个"死锁检测"程序,判断系统是否已发生死锁,若检测到死锁发生则设法加以解除。
    解除死锁常常采用下面两种方法:1、资源剥夺法;2、撤消进程法

    3事物的定义以及特性,.net中的实现情况。

    事务(Transaction)是访问并可能更新数据库中各种数据项的一个程序执行单元(unit)。

    事务必须具备 ACID 属性,即原子性、一致性、隔离性和持续性。

    aSQL事务 sql事务是使用SQL server自身的事务:在存储过程中直接使用Begin Tran,Rollback Tran,Commit Tran实现事务: 优点:执行效率最佳 限制:事务上下文仅在数据库中调用,难以实现复杂的业务逻辑。

    b ADO.net事务    Ado.net事务可能是大家一般都用的  优点:简单,效率和数据库事务差不多。  缺点:事务不能跨数据库,只能在一个数据库连接上。如果是两个数据库上就不能使用该事务了。

    c TransactionScope事务   TransactionScope事务类,它可以使代码块成为事务性代码。并自动提升为分布式事务  优点:实现简单,同时能够自动提升为分布式事务。

    d COM+事务   在分布式应用程序中,往往要同时操作多个数据库,使用数据库事务就不能满足业务的要求了。在COM+中,提供完整的事务处理服务。很方便处理多个数据库上的事务。

    PS:http://www.cnblogs.com/jonescheng/archive/2008/07/22/1249043.html

    4socket同步通讯的详细步骤

    1、在应用程序和远程设备中使用协议和网络地址初始化套接字 

    2、在应用程序中通过指定端口和地址建立监听 

    3、远程设备发出连接请求
    4、应用程序接受连接产生通信scoket
    5、应用程序和远程设备开始通讯(在通讯中应用程序将挂起直到通讯结束)
    6、通讯结束,关闭应用程序和远程设备的Socket回收资

    5取表的20-40条记录。

    select top 20 * from A where Id not in( select top 20 Id from A order by Id asc ) order by id asc;

    PS1:从publish 表中取出第 n 条到第 m 条的记录: SELECT TOP m-n+1 *  FROM publish  WHERE (id NOT IN (SELECT TOP n-1 id  FROM publish)) 

    PS2:发现在峰哥电脑上的mysql运行不成功,原来mysql有他自己的关键字:select * from t_article order by id limit 4, 2

    6asp.net页面生命周期.

    页请求

    页请求发生在页生命周期开始之前。用户请求页时,ASP.NET 将确定是否需要分析和编译页(从而开始页的生命周期),或者是否可以在不运行页的情况下发送页的缓存版本以进行响应。

    开始

    在开始阶段,将设置页属性,如 RequestResponse。在此阶段,页还将确定请求是回发请求还是新请求,并设置 IsPostBack 属性。此外,在开始阶段期间,还将设置页的 UICulture 属性。

    页初始化

    页初始化期间,可以使用页中的控件,并将设置每个控件的 UniqueID 属性。此外,任何主题都将应用于页。如果当前请求是回发请求,则回发数据尚未加载,并且控件属性值尚未还原为视图状态中的值。

    加载

    加载期间,如果当前请求是回发请求,则将使用从视图状态和控件状态恢复的信息加载控件属性。

    验证

    在验证期间,将调用所有验证程序控件的 Validate 方法,此方法将设置各个验证程序控件和页的 IsValid 属性。

    回发事件处理

    如果请求是回发请求,则将调用所有事件处理程序。

    呈现

    在呈现之前,会针对该页和所有控件保存视图状态。在呈现阶段中,页会针对每个控件调用 Render 方法,它会提供一个文本编写器,用于将控件的输出写入页的 Response 属性的 OutputStream 中。

    卸载

    完全呈现页并已将页发送至客户端、准备丢弃该页后,将调用卸载。此时,将卸载页属性(如 ResponseRequest)并执行清理。

    面试准备:

    SQL行列转换

    2000方法:

    select name,

    max(case [subject] when case '语文' then score else 0 end) as '语文',

    max(case [subject] when case '数学' then score else 0 end) as '数学',

    max(case [subject] when case '物理' then score else 0 end) as '物理'

    from students

    group by name;

    2005pivot方法:

    select name,max(语文),max(语文),max(语文)

    from students as s

    pivot(max(score) for [subject] in (语文,数学,物理) as ss

    group by name

    ps:http://www.cnblogs.com/zhangq723/archive/2011/04/22/2024776.html

    HCTX

    1.asp与asp.net的区别

    ASP.Net与ASP的主要区别在于前者是编译(Compile)执行,而后者是解释(Interpret)执行,前者比后者有更高的效率。

    2.oledbconnection和sqlconnection的区别及使用

    oledbconnection连接到 OLE DB 数据源 ,sqlconnection连接到 SQL Server。

    using (OleDbConnection connection = new OleDbConnection(connectionString))
    {
    connection.Open();
    // Do work here.
    }

    using (SqlConnection connection = new SqlConnection(connectionString))
    {
    connection.Open();
    // Do work here.
    }

    PS:http://teddywang.iteye.com/blog/490504

    连接实例:
    ACCESS
    string conStr=@"provider=microsoft.Jet.OleDb.4.0;data source=d:\\accessData.mdb;uid=sa;pwd=dd";
    SQL SERVER
    string conStr=@"Server=bwj;database=demo;uid=sa;pwd=";
    ORACLE
    string conStr=@"Provider=MSDAORA.1;Password=pwd;User ID=user_name;Data Source=link_str"

    3.统计“," -- "1234,1215,1236,1237".

    4.sql题

    Customer

    CustId CustNo CustName                              

    1          a01          移动

    2          a02          联通

    3          a03          电信

    Price

    CustId    CustPay

    1              20000

    3              40000

    1              5000

    求表

    CustNo CustName CustPay

    A01         移动          25000

    A02         联通           0

    A03         电信          40000

    5.写一个存储过程,获取传出值。

    6.x=30,y=40,不使用变量交换值。

    7.”日期和事件"启动、关闭。

  • 相关阅读:
    [设计模式]暂时不考虑多线程的单例模式
    [设计模式]策略模式
    [设计模式]工厂模式
    [设计模式]观察者模式1(用JDK提供的API)
    使用visual studio 2013 快速搭建phonegap开发环境
    js日期计算及快速获取周、月、季度起止日
    HTTP 错误 500.21
    C# 实现对网站数据的采集和抓取
    js设置控件的隐藏与显示的两种方法
    jQuery操作checkbox选择
  • 原文地址:https://www.cnblogs.com/kulong995/p/2351912.html
Copyright © 2020-2023  润新知