<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: Keshav</title>
    <description>The latest articles on Forem by Keshav (@keshavop).</description>
    <link>https://forem.com/keshavop</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F692512%2F4e12bab5-0e5f-4659-8476-d1f4b6b3d92b.jpg</url>
      <title>Forem: Keshav</title>
      <link>https://forem.com/keshavop</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/keshavop"/>
    <language>en</language>
    <item>
      <title>MiQ Digital Intern Software Engineer 2023 OA</title>
      <dc:creator>Keshav</dc:creator>
      <pubDate>Sun, 07 Jan 2024 11:28:13 +0000</pubDate>
      <link>https://forem.com/keshavop/miq-digital-intern-software-engineer-2023-oa-52i7</link>
      <guid>https://forem.com/keshavop/miq-digital-intern-software-engineer-2023-oa-52i7</guid>
      <description>&lt;p&gt;MIQ Online test was conducted on Hackerrank.&lt;br&gt;
There was 1 DSA question and 2 SQL question and time limit is 1 hour only.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Q1.&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Function Description

Complete the function countAnalogousArrays in the editor below.



countAnalogousArrays has the following parameter(s):

    int consecutiveDifference[n]:  the differences between each pair of consecutive integers in the secret array

    int lowerBound: an integer

    int upperBound: an integer

Returns:

    int: the number of arrays that are analogous to the secret array



Constraints

-109 ≤ lowerBound ≤ upperBound ≤ 109
1 ≤ n ≤ 105
-2*109 ≤ consecutiveDifference[i] ≤ 2*109


Input Format For Custom Testing
The first line contains an integer, n, that denotes the number of elements in consecutiveDifference.

Each line i of the n subsequent lines contains an integer, consecutiveDifference[i], where 0 ≤ i &amp;lt; n.

The next line contains an integer, lowerBound.

The last line contains an integer, upperBound.

Sample Case 0
Sample Input For Custom Testing

STDIN      Function
-----      --------
3     →    consecutiveDifferences[] size n = 3
-1    →    consecutiveDifferences = [-1, -3, 2]
-3
2
2     →    lowerBound = 2
8     →    upperBound = 8
Sample Output

3
Explanation



All possible analogous arrays are:

[3, 4, 7, 5]

[2, 3, 6, 4]

[4, 5, 8, 6]



Thus, the answer is 3.

Sample Case 1
Sample Input For Custom Testing

STDIN     Function
-----     --------
2    →    consecutiveDifferences[] size n = 2
1    →    consecutiveDifferences = [1, 2]
2
3    →    lowerBound = 3
4    →    upperBound = 4
Sample Output

0
Explanation

There is no array which is analogous to the secret array.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Ans.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight cpp"&gt;&lt;code&gt;&lt;span class="cp"&gt;#include&lt;/span&gt; &lt;span class="cpf"&gt;&amp;lt;iostream&amp;gt;&lt;/span&gt;&lt;span class="cp"&gt;
#include&lt;/span&gt; &lt;span class="cpf"&gt;&amp;lt;vector&amp;gt;&lt;/span&gt;&lt;span class="cp"&gt;
&lt;/span&gt;&lt;span class="k"&gt;using&lt;/span&gt; &lt;span class="k"&gt;namespace&lt;/span&gt; &lt;span class="n"&gt;std&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="kt"&gt;long&lt;/span&gt; &lt;span class="kt"&gt;long&lt;/span&gt; &lt;span class="nf"&gt;countAnalogousArrays&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;vector&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="kt"&gt;int&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="n"&gt;consecutiveDifference&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="kt"&gt;int&lt;/span&gt; &lt;span class="n"&gt;lowerBound&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="kt"&gt;int&lt;/span&gt; &lt;span class="n"&gt;upperBound&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="kt"&gt;int&lt;/span&gt; &lt;span class="n"&gt;n&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;consecutiveDifference&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;size&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
    &lt;span class="kt"&gt;long&lt;/span&gt; &lt;span class="kt"&gt;long&lt;/span&gt; &lt;span class="n"&gt;ans&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="c1"&gt;// Initialize with 1 since there's always one valid array (secret array).&lt;/span&gt;

    &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kt"&gt;int&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt; &lt;span class="n"&gt;n&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="o"&gt;++&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="kt"&gt;int&lt;/span&gt; &lt;span class="n"&gt;diff&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;consecutiveDifference&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;];&lt;/span&gt;

        &lt;span class="c1"&gt;// Calculate the possible range of values for the current element.&lt;/span&gt;
        &lt;span class="kt"&gt;int&lt;/span&gt; &lt;span class="n"&gt;minValue&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;lowerBound&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="n"&gt;diff&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
        &lt;span class="kt"&gt;int&lt;/span&gt; &lt;span class="n"&gt;maxValue&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;upperBound&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="n"&gt;diff&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

        &lt;span class="c1"&gt;// Update the lowerBound and upperBound for the next element.&lt;/span&gt;
        &lt;span class="n"&gt;lowerBound&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;max&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;minValue&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;lowerBound&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
        &lt;span class="n"&gt;upperBound&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;min&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;maxValue&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;upperBound&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

        &lt;span class="c1"&gt;// If lowerBound is greater than upperBound, there are no valid arrays.&lt;/span&gt;
        &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;lowerBound&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="n"&gt;upperBound&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
            &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
        &lt;span class="p"&gt;}&lt;/span&gt;

        &lt;span class="c1"&gt;// Add the number of valid values for the current element to the answer.&lt;/span&gt;
        &lt;span class="n"&gt;ans&lt;/span&gt; &lt;span class="o"&gt;*=&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;upperBound&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="n"&gt;lowerBound&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;

    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;ans&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="kt"&gt;int&lt;/span&gt; &lt;span class="nf"&gt;main&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="kt"&gt;int&lt;/span&gt; &lt;span class="n"&gt;n&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="n"&gt;cin&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&amp;gt;&lt;/span&gt; &lt;span class="n"&gt;n&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="n"&gt;vector&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="kt"&gt;int&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="n"&gt;consecutiveDifference&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;n&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
    &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kt"&gt;int&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt; &lt;span class="n"&gt;n&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="o"&gt;++&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="n"&gt;cin&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&amp;gt;&lt;/span&gt; &lt;span class="n"&gt;consecutiveDifference&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;];&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;
    &lt;span class="kt"&gt;int&lt;/span&gt; &lt;span class="n"&gt;lowerBound&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;upperBound&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="n"&gt;cin&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&amp;gt;&lt;/span&gt; &lt;span class="n"&gt;lowerBound&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&amp;gt;&lt;/span&gt; &lt;span class="n"&gt;upperBound&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

    &lt;span class="kt"&gt;long&lt;/span&gt; &lt;span class="kt"&gt;long&lt;/span&gt; &lt;span class="n"&gt;result&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;countAnalogousArrays&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;consecutiveDifference&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;lowerBound&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;upperBound&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
    &lt;span class="n"&gt;cout&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&amp;lt;&lt;/span&gt; &lt;span class="n"&gt;result&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&amp;lt;&lt;/span&gt; &lt;span class="n"&gt;endl&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Q2.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Given two tables, Employee and Department, generate a summary of how many employees are in each department. Each department should be listed, whether they currently have any employees or not. The results should be sorted from high to low by number of employees, and then alphabetically by department when departments have the same number of employees. The results should list the department name followed by the employee count. The column names are not tested, so use whatever is appropriate.



Schema
EMPLOYEE
Name    Type    Description
ID  Integer Employee ID number. This is a primary key.
NAME    String  Employee name
SALARY  Integer Employee salary
DEPT_ID Integer ID of the employee's department, a foreign key to DEPARTMENT.ID.
DEPARTMENT
Name    Type    Description
ID  Integer Department ID. This is a primary key.
NAME    String  Department name.
LOCATION    String  Department location.
Sample Data Tables
EMPLOYEE
ID  NAME    SALARY  DEPT_ID
1   Candice 4685    1
2   Julia   2559    2
3   Bob 4405    4
4   Scarlet 2350    1
5   Ileana  1151    4
DEPARTMENT
ID  NAME    LOCATION
1   Executive   Sydney
2   Production  Sydney
3   Resources   Cape Town
4   Technical   Texas
5   Management  Paris


Sample Output



Executive 2

Technical 2

Production 1

Management 0

Resources 0

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Ans.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight sql"&gt;&lt;code&gt;&lt;span class="k"&gt;SELECT&lt;/span&gt; &lt;span class="n"&gt;D&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;NAME&lt;/span&gt; &lt;span class="k"&gt;AS&lt;/span&gt; &lt;span class="n"&gt;Department&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="k"&gt;COUNT&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;E&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;ID&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;AS&lt;/span&gt; &lt;span class="n"&gt;EmployeeCount&lt;/span&gt;
&lt;span class="k"&gt;FROM&lt;/span&gt; &lt;span class="n"&gt;DEPARTMENT&lt;/span&gt; &lt;span class="n"&gt;D&lt;/span&gt;
&lt;span class="k"&gt;LEFT&lt;/span&gt; &lt;span class="k"&gt;JOIN&lt;/span&gt; &lt;span class="n"&gt;EMPLOYEE&lt;/span&gt; &lt;span class="n"&gt;E&lt;/span&gt; &lt;span class="k"&gt;ON&lt;/span&gt; &lt;span class="n"&gt;D&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;ID&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;E&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;DEPT_ID&lt;/span&gt;
&lt;span class="k"&gt;GROUP&lt;/span&gt; &lt;span class="k"&gt;BY&lt;/span&gt; &lt;span class="n"&gt;D&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;NAME&lt;/span&gt;
&lt;span class="k"&gt;ORDER&lt;/span&gt; &lt;span class="k"&gt;BY&lt;/span&gt; &lt;span class="n"&gt;EmployeeCount&lt;/span&gt; &lt;span class="k"&gt;DESC&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;Department&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Q3&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;A university maintains data on professors and departments in two tables: PROFESSOR and DEPARTMENT. Write a query to print the NAME and SALARY for each professor who satisfies the following two requirements:

The professor does not work in the Arts and Humanities department.
The professor's salary is greater than the smallest salary of any professor in the Arts and Humanities department.
The name must be printed before the salary, but row order does not matter.


Schema
DEPARTMENT
Name    Type    Description
ID  Integer A department ID in the inclusive range [1, 1000]. This is a primary key.
NAME    String  A department name. This field contains between 1 and 100 characters.
PROFESSOR
Name    Type    Description
ID  Integer A professor's ID in the inclusive range [1, 1000]. This is a primary key.
NAME    String  A professor's name. This field contains between 1 and 100 characters.
DEPARTMENT_ID   Integer A professor's department ID. This is a foreign key to DEPARTMENT.ID.
SALARY  Integer A professor's salary in the inclusive range [5000, 40000].
Sample Data Tables
DEPARTMENT
ID  NAME
3   Biological Sciences
5   Technology
6   Humanities &amp;amp; Social Sciences
2   Clinical Medicine
4   Arts and Humanities
1   Physical Sciences
PROFESSOR
ID  NAME    DEPARTMENT_ID   SALARY
1   Shauna Rivera   1   22606
8   Ruth Price  3   9287
9   Julie Gonzalez  4   18870
2   Craig Elliott   5   27524
10  Scott Butler    1   26200
3   Nancy Russell   2   7076
4   Clarence Johnson    1   7249
7   Louis Schmidt   1   13437
5   Terri Thompson  3   28432
6   Keith Gilbert   5   12610


Sample Output

Shauna Rivera 22606
Craig Elliott 27524
Terri Thompson 28432
Scott Butler 26200


Explanation

Julie Gonzalez has a salary of 18870, which is smaller than the salary of any other professor in the Arts and Humanities department. The following employees of other departments have salaries higher than Julie's:

Shauna Rivera's salary of 22606 is higher than Julie Gonzalez's.
Craig Elliott's salary of 27524 is higher than Julie Gonzalez's.
Terri Thompson's salary of 28432 is higher than Julie Gonzalez's.
Scott Butler's salary of 26200 is higher than Julie Gonzalez's.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Ans.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight sql"&gt;&lt;code&gt;&lt;span class="k"&gt;SELECT&lt;/span&gt; &lt;span class="n"&gt;P&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;NAME&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;P&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;SALARY&lt;/span&gt;
&lt;span class="k"&gt;FROM&lt;/span&gt; &lt;span class="n"&gt;PROFESSOR&lt;/span&gt; &lt;span class="n"&gt;P&lt;/span&gt;
&lt;span class="k"&gt;WHERE&lt;/span&gt; &lt;span class="n"&gt;P&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;DEPARTMENT_ID&lt;/span&gt; &lt;span class="k"&gt;NOT&lt;/span&gt; &lt;span class="k"&gt;IN&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="k"&gt;SELECT&lt;/span&gt; &lt;span class="n"&gt;D&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;ID&lt;/span&gt;
    &lt;span class="k"&gt;FROM&lt;/span&gt; &lt;span class="n"&gt;DEPARTMENT&lt;/span&gt; &lt;span class="n"&gt;D&lt;/span&gt;
    &lt;span class="k"&gt;WHERE&lt;/span&gt; &lt;span class="n"&gt;D&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;NAME&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s1"&gt;'Arts and Humanities'&lt;/span&gt;
&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="k"&gt;AND&lt;/span&gt; &lt;span class="n"&gt;P&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;SALARY&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="k"&gt;SELECT&lt;/span&gt; &lt;span class="k"&gt;MIN&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;PH&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;SALARY&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="k"&gt;FROM&lt;/span&gt; &lt;span class="n"&gt;PROFESSOR&lt;/span&gt; &lt;span class="n"&gt;PH&lt;/span&gt;
    &lt;span class="k"&gt;WHERE&lt;/span&gt; &lt;span class="n"&gt;PH&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;DEPARTMENT_ID&lt;/span&gt; &lt;span class="k"&gt;IN&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;
        &lt;span class="k"&gt;SELECT&lt;/span&gt; &lt;span class="n"&gt;D&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;ID&lt;/span&gt;
        &lt;span class="k"&gt;FROM&lt;/span&gt; &lt;span class="n"&gt;DEPARTMENT&lt;/span&gt; &lt;span class="n"&gt;D&lt;/span&gt;
        &lt;span class="k"&gt;WHERE&lt;/span&gt; &lt;span class="n"&gt;D&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;NAME&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s1"&gt;'Arts and Humanities'&lt;/span&gt;
    &lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



</description>
    </item>
    <item>
      <title>React Fiber vs Reconciliation in ReactJS</title>
      <dc:creator>Keshav</dc:creator>
      <pubDate>Tue, 29 Aug 2023 21:13:35 +0000</pubDate>
      <link>https://forem.com/keshavop/react-fiber-vs-reconciliation-1nde</link>
      <guid>https://forem.com/keshavop/react-fiber-vs-reconciliation-1nde</guid>
      <description>&lt;p&gt;🚀Reconciliation is algorithm which React.js uses to differentiate one tree with another to determine which parts need to be changed. Basically it keeps the track of UI and data layers when there is diff in both layers react uses virtual DOM and updates the changes by re-rendering the specific component.&lt;/p&gt;

&lt;p&gt;🚀React Fiber is used to increase React's suitability for areas like animation, layout, and gestures. Its headline feature is incremental rendering: the ability to split rendering work into chunks and spread it out over multiple frames.&lt;br&gt;
Basically react fiber is a architecture which splits the work and updates the only component that needs to change.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--7zu63BDc--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/5fu7s6rledwlhsdqbc0z.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--7zu63BDc--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/5fu7s6rledwlhsdqbc0z.jpeg" alt="Image description" width="800" height="446"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>react</category>
      <category>website</category>
      <category>nextjs</category>
    </item>
    <item>
      <title>What is Babel ?</title>
      <dc:creator>Keshav</dc:creator>
      <pubDate>Fri, 03 Feb 2023 10:06:57 +0000</pubDate>
      <link>https://forem.com/keshavop/what-is-babel--1en3</link>
      <guid>https://forem.com/keshavop/what-is-babel--1en3</guid>
      <description>&lt;p&gt;Babel is a JavaScript compiler that allows developers to write code in the latest version of JavaScript and then compiles it to an earlier version to ensure maximum compatibility across all browsers and platforms. Babel enables developers to use features that are not yet supported by the majority of browsers and also to make use of features from the latest ECMAScript specifications.&lt;/p&gt;

</description>
      <category>cryptocurrency</category>
      <category>ethereum</category>
      <category>blockchain</category>
      <category>web3</category>
    </item>
    <item>
      <title>Advantages of JSX</title>
      <dc:creator>Keshav</dc:creator>
      <pubDate>Fri, 03 Feb 2023 10:01:41 +0000</pubDate>
      <link>https://forem.com/keshavop/advantages-of-jsx-254h</link>
      <guid>https://forem.com/keshavop/advantages-of-jsx-254h</guid>
      <description>&lt;p&gt;JSX offers several advantages including:&lt;/p&gt;

&lt;p&gt;Improved readability: JSX makes it easier to read and understand the structure of the components in a codebase.&lt;/p&gt;

&lt;p&gt;Reusability: JSX makes it easy to reuse components, leading to more modular and maintainable code.&lt;/p&gt;

&lt;p&gt;Better debugging: JSX provides clear and concise error messages, making it easier to debug code.&lt;/p&gt;

&lt;p&gt;Enhanced expressiveness: JSX allows developers to express the structure of their components in a more concise and intuitive way.&lt;/p&gt;

&lt;p&gt;Better performance: JSX can be compiled to JavaScript, which is faster than interpreting it dynamically, leading to better performance.&lt;/p&gt;

&lt;p&gt;Improved integration with other tools: JSX works seamlessly with other tools such as React and Babel, making it easier to integrate into modern web development workflow.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>javascript</category>
      <category>react</category>
      <category>opensource</category>
    </item>
    <item>
      <title>Full Stack Web Developemnt Roadmap 2024 [Updated]</title>
      <dc:creator>Keshav</dc:creator>
      <pubDate>Sat, 07 Jan 2023 20:18:46 +0000</pubDate>
      <link>https://forem.com/keshavop/full-stack-web-developemnt-roadmap-2023-4bae</link>
      <guid>https://forem.com/keshavop/full-stack-web-developemnt-roadmap-2023-4bae</guid>
      <description>&lt;p&gt;Full stack web development is the process of designing, building, and maintaining a website or web application. It involves working with a variety of technologies, including front-end frameworks, back-end languages, and databases.&lt;/p&gt;

&lt;p&gt;As a full stack web developer, you will be responsible for the end-to-end development of a website or web application. This means that you will need to have a strong understanding of both the front-end (client-side) and back-end (server-side) aspects of web development.&lt;/p&gt;

&lt;p&gt;Front-End Technologies:&lt;/p&gt;

&lt;p&gt;The front-end of a website or web application is what the user sees and interacts with. It is the "face" of the application, and it is important for it to be visually appealing and user-friendly. Some common technologies used in front-end web development include:&lt;/p&gt;

&lt;p&gt;HTML (Hypertext Markup Language): This is the standard markup language used to create web pages. It is used to structure the content of a webpage, such as text, images, and videos.&lt;/p&gt;

&lt;p&gt;CSS (Cascading Style Sheets): This is a stylesheet language used to describe the look and formatting of a document written in HTML. It is used to control the layout, colors, and fonts of a webpage.&lt;/p&gt;

&lt;p&gt;JavaScript: This is a programming language that is commonly used to add interactivity to websites. It can be used to create things like drop-down menus, form validation, and image sliders.&lt;/p&gt;

&lt;p&gt;Front-end frameworks: These are pre-built libraries of code that are designed to make it easier for developers to create dynamic and responsive web applications. Some popular front-end frameworks include React, Angular, and Vue.js.&lt;/p&gt;

&lt;p&gt;Back-End Technologies:&lt;/p&gt;

&lt;p&gt;The back-end of a website or web application is what powers the application. It is responsible for storing and organizing data, and it is what allows the front-end of the application to function properly. Some common technologies used in back-end web development include:&lt;/p&gt;

&lt;p&gt;Server-side languages: These are programming languages that are used to build the back-end of a web application. Some popular server-side languages include Python, Java, PHP, and Ruby.&lt;/p&gt;

&lt;p&gt;Databases: These are used to store and organize data for a web application. Some popular databases include MySQL, MongoDB, and PostgreSQL.&lt;/p&gt;

&lt;p&gt;Server software: This is the software that runs on the server and powers the back-end of a web application. Some popular server software options include Apache and Nginx.&lt;/p&gt;

&lt;p&gt;Full stack web developers should have a strong understanding of both front-end and back-end technologies, as well as the ability to work with multiple languages and frameworks. They should also be comfortable working with databases and server software.&lt;/p&gt;

&lt;p&gt;In addition to technical skills, full stack web developers should also have strong problem-solving and communication skills. They will often be working with clients to understand their needs and requirements, and they will need to be able to translate those needs into technical solutions.&lt;/p&gt;

&lt;p&gt;Full stack web development can be a challenging and rewarding career field. With the right skills and experience, you can design and build dynamic and powerful web applications that are used by millions of people around the world.&lt;/p&gt;

</description>
      <category>php</category>
      <category>programming</category>
      <category>productivity</category>
    </item>
  </channel>
</rss>
