As an SE the owner wants you to know about Java and C# programming. So there are questions on those. Also SQL based questions as they want you to know how to answer customers technical questions on how their code works in the customers environment.
The SELECT DISTINCT statement is used to return only distinct (different) values. SQL joins are used to combine rows from two or more tables. INNER JOIN: Returns all rows when there is at least one match in BOTH tables LEFT JOIN: Return all rows from the left table, and the matched rows from the right table RIGHT JOIN: Return all rows from the right table, and the matched rows from the left table FULL JOIN: Return all rows when there is a match in ONE of the tables Java handles its memory in two areas. The heap and the stack. Heap Memory, which is the storage for Java objects Non-Heap Memory, which is used by Java to store loaded classes and other meta-data
The difference between a "where" clause and a "having" clause is a "Where" clause is applied to enforce condition on select statement and a single row function and is applied prior to GROUP BY clause where as HAVING clause is applied to enforce condition of GROUP Function and is applied after GROUP BY clause in the inquiry.
I knew the basic of indexes, views and joins, so I could answer those questions. Improving efficiency of query was difficult question to answer - I just said make indexes, read the query and try to reduce hits on table. I had no idea how to write SQL programmes.