Not very difficult,
Java - HashMap, Hashtable, Concurrent HashMap, Cyclic barrier, Count down latch, Deadlock, livelock, race condition, design patterns
Algorithm - Finding minimum all the time from a stream of characters, Kth minimum, etc
Database - Bank transaction design, Transpose table, nth maximum salary