Implementing a queue in Java for a technical interview
You don't have a parameterless constructor which forces each queue to be instantiated with 2 elements. This isn't userfriendly since I might very wel want to construct it first and then add 5 bazillion elements to it.

Your code already allows it though: technically first can never be null as it is, yet you check for it. You can add a constructor without a problem.



Right now you only accept integers; perhaps you could make it generic to allow for each type?



Node is public; I'd change that to private since the outside world should never use it anyway.



Your code doesn't work; executing it will return 2 and -1, not 3. This happens because you don't set the next property of the nodes that are passed in to the Queue(Node, Node) constructor.