Oracle Interview Experience
Real interview experiences. Read Experiences →
Oracle coding interview questions with solutions in Java and Python. Practice DSA problems asked in Oracle SDE interviews 2025.
Practice 25+ Oracle coding interview questions with solutions. Oracle focuses on Java, database concepts, and clean code.
public int[] twoSum(int[] nums, int target) { Map<Integer, Integer> map = new HashMap<>(); for (int i = 0; i < nums.length; i++) { int complement = target - nums[i]; if (map.containsKey(complement)) { return new int[]{map.get(complement), i}; } map.put(nums[i], i); } return new int[]{};}public int lengthOfLongestSubstring(String s) { Map<Character, Integer> map = new HashMap<>(); int maxLen = 0, start = 0; for (int i = 0; i < s.length(); i++) { char c = s.charAt(i); if (map.containsKey(c) && map.get(c) >= start) { start = map.get(c) + 1; } map.put(c, i); maxLen = Math.max(maxLen, i - start + 1); } return maxLen;}public void reverseString(char[] s) { int left = 0, right = s.length - 1; while (left < right) { char temp = s[left]; s[left++] = s[right]; s[right--] = temp; }}public boolean isValid(String s) { Stack<Character> stack = new Stack<>(); for (char c : s.toCharArray()) { if (c == '(' || c == '{' || c == '[') { stack.push(c); } else { if (stack.isEmpty()) return false; char top = stack.pop(); if ((c == ')' && top != '(') || (c == '}' && top != '{') || (c == ']' && top != '[')) { return false; } } } return stack.isEmpty();}public void merge(int[] nums1, int m, int[] nums2, int n) { int i = m - 1, j = n - 1, k = m + n - 1; while (j >= 0) { if (i >= 0 && nums1[i] > nums2[j]) { nums1[k--] = nums1[i--]; } else { nums1[k--] = nums2[j--]; } }}public boolean isValidBST(TreeNode root) { return isValidBST(root, null, null);}
private boolean isValidBST(TreeNode node, Integer min, Integer max) { if (node == null) return true; if (min != null && node.val <= min) return false; if (max != null && node.val >= max) return false; return isValidBST(node.left, min, node.val) && isValidBST(node.right, node.val, max);}public ListNode reverseList(ListNode head) { ListNode prev = null; while (head != null) { ListNode next = head.next; head.next = prev; prev = head; head = next; } return prev;}public TreeNode lowestCommonAncestor(TreeNode root, TreeNode p, TreeNode q) { if (root == null || root == p || root == q) return root;
TreeNode left = lowestCommonAncestor(root.left, p, q); TreeNode right = lowestCommonAncestor(root.right, p, q);
if (left != null && right != null) return root; return left != null ? left : right;}public int climbStairs(int n) { if (n <= 2) return n; int prev2 = 1, prev1 = 2; for (int i = 3; i <= n; i++) { int curr = prev1 + prev2; prev2 = prev1; prev1 = curr; } return prev1;}public int longestCommonSubsequence(String text1, String text2) { int m = text1.length(), n = text2.length(); int[][] dp = new int[m + 1][n + 1];
for (int i = 1; i <= m; i++) { for (int j = 1; j <= n; j++) { if (text1.charAt(i-1) == text2.charAt(j-1)) { dp[i][j] = dp[i-1][j-1] + 1; } else { dp[i][j] = Math.max(dp[i-1][j], dp[i][j-1]); } } } return dp[m][n];}SELECT MAX(salary) AS SecondHighestSalaryFROM employeesWHERE salary < (SELECT MAX(salary) FROM employees);
-- Alternative using DENSE_RANKSELECT salary AS SecondHighestSalaryFROM ( SELECT salary, DENSE_RANK() OVER (ORDER BY salary DESC) as rnk FROM employees) rankedWHERE rnk = 2;SELECT emailFROM employeesGROUP BY emailHAVING COUNT(*) > 1;SELECT d.name AS Department, e.name AS Employee, e.salary AS SalaryFROM employees eJOIN departments d ON e.department_id = d.idWHERE ( SELECT COUNT(DISTINCT e2.salary) FROM employees e2 WHERE e2.department_id = e.department_id AND e2.salary > e.salary) < 3;class LRUCache extends LinkedHashMap<Integer, Integer> { private int capacity;
public LRUCache(int capacity) { super(capacity, 0.75f, true); this.capacity = capacity; }
public int get(int key) { return super.getOrDefault(key, -1); }
public void put(int key, int value) { super.put(key, value); }
@Override protected boolean removeEldestEntry(Map.Entry<Integer, Integer> eldest) { return size() > capacity; }}Oracle Interview Experience
Real interview experiences. Read Experiences →
Oracle Preparation Guide
Complete preparation strategy. View Guide →
Practice Java + SQL for Oracle interviews!
Last updated: February 2026