소프트웨어 개발자 퀴즈

2710 단어
이사, 인터넷 부족 및 영감 부족으로 인해 최근 게시물이 부족하지만 더 많은 게시물이 올 수 있기를 바랍니다. 서류 정리를 하다가 오래된 소프트웨어 개발자 퀴즈를 찾았습니다. 내가 갈 것이라고 생각했다.

원래 퀴즈를 작성해 주셔서 감사합니다.

질문:
  • 문자열이 대문자 A-Z로 시작하는지 확인하는 함수를 작성합니다
  • .
  • 반지름이 주어진 원의 면적을 결정하는 함수를 작성하십시오
  • .
  • 정수 배열의 모든 값 더하기
  • 다음과 같은 구조와 샘플 데이터가 있는 "노드"라는 테이블이 주어집니다(질문 후 아래 참조). …여기서 ID는 기본 키이고 부모 ID는 ID를 참조하므로 다음을 완성하십시오.
  • 지정된 노드 ID 아래의 모든 노드를 반환하는 저장 프로시저를 작성합니다
  • .
  • 주어진 노드 ID 아래의 모든 깊이에 있는 모든 노드를 반환하는 쿼리를 작성하는 방법을 설명합니다(즉, 재귀적으로)
  • .

  • 최대 1,000,000까지의 소수를 구하는 함수를 작성하십시오
  • .
  • 검토할 다음 코드가 제공되었습니다(표 아래). 개발자에게 어떤 의견을 주고 싶습니까?



  • ID
    부모 ID
    이름
    유형
    깊이


    1
    없는
    내 문서
    폴더
    0

    2
    1
    내 사진들
    폴더
    1


    1
    내 이력서
    문서
    1

    4
    2
    내 사진
    문서
    2



    CREATE PROCEDURE GetNode
    @NodeId INT
    AS
    
    DECLARE @ID INT, @ParentID INT, @Name NVARCHAR(255)
    DECLARE @Type NVARCHAR(20), @Depth INT
    
    SELECT @ID = ID FROM Nodes WHERE ID = @ID
    SELECT @ParentID = ParentID FROM Nodes where ID = @ID
    IF (EXISTS(SELECT NULL FROM Nodes WHERE ID = @ID AND Name = NULL))
    SELECT @Name = ''
    ELSE
    SELECT @Name = Name FROM Nodes WHERE ID = @ID
    
    SELECT @Type = Type FROM Nodes WHERE ID = @ID
    SELECT @Depth = Depth FROM Nodes WHERE ID = @ID
    
    SELECT @ID, @ParentID, @Name, @Type, @Depth
    
    


    내 답변:

    static bool GetUpper(string var)
    {
      if (char.IsUpper(var[0]))
      {
        return true;
      }
      else
      {
        return false;
      }
    }
    
    
    static double AreaOfCircle(int radius)
    {
      double area = 0;
      area = Math.PI * radius * radius;
      return area;
    }
    
    
    static int SumArray()
    {
      int[] MyArray = new int[10] { 1, 2, 5, 12, 4, 9, 8, 18, 9, 6 };
      int Sum = MyArray.Sum();
      return Sum;
    }
    
    
    create procedure getnodes
    (
      @node int
    )
    select * from dbo.nodes where parentid = @node
    
    


    재귀 쿼리의 경우 다음과 같은 내용을 작성하지만 깊이에 따라 사용자 정의해야 합니다(예: 더 높은 깊이를 위한 더 많은 조인).

    select * from dbo.nodes n1
    join dbo.nodes n2 on n1.id = n2.ParentId
    join dbo.nodes n3 on n2.id = n3.ParentId
    where n1.parentid = 4544054
    
    
    static void prime()
    {
      Console.WriteLine("Prime: 1");
      for (long i = 3; i <= 1000000;i++ )
      {
        bool isprime = true;
        for (long j = 2; j <i; j++)
        {
          if(i%j==0)
          {
            isprime = false;
            break;
          }
        }
        if (isprime)
        {
          Console.WriteLine("Prime: "+i);
        }
      }
    }
    
    


    매개변수 주위에 대괄호 없음, @NodeId 매개변수는 사용되지 않음, select = id from dbo.nodes 여기서 id = 설정되는 것과 동일한 ID로 의미가 없음, Name = NULL은 Name이 NULL이어야 함, 마지막 쿼리에서 지정되지 않음. 아마 더 많은 문제도 있을 것입니다.

    좋은 웹페이지 즐겨찾기