if statements, removing by loop partitioning, 100
immutable strings
in C#, 73
in Java, 72
implicit typing in JavaScript, 73
infinite recursion, 90
information sources on the job market, 3
inheritance
classic example of, 123–124
defined, 122
Inheritance problem, 187–188
inorder traversal of a node, 60
INSERT SQL statement, 133, 137
insertAfter function, writing, 39–40
insertion
in BSTs, 58
in a linked list, 36
integers
accessing bytes of, 154
binary search on a sorted array of, 92–95
comparing without using comparative operators, 16
converting a signal back into, 85–88
Integer/String Conversion problem, 83–88
integer-to-string routine, 85–88
integrity of data stored in a database, 135
interactivity in the interview, 17
interfaces
default implementation of, 126
defined, 125
as encapsulators, 125
mitigating the restriction of single inheritance, 129
Interfaces and Abstract Classes problem, 125–126
internships, value of, 5
interview database problems, 132–133
interview problems
with less-obvious special-case solutions, 82
steps in solving, 18–19
interview process, stages of, 9–11
interviewers, collecting business cards from, 12
irrelevant items, on a resume, 209
IS NOT NULL syntax with SELECT, 141
IS NULL syntax with SELECT, 141
isolation of database transactions, 136
iterative algorithms
as often easy to write, 91
replacing recursions, 63
iterative alternative to a recursive algorithm, 103–105
iterative analog of the recursive binary search, 94–95
iterative implementation of the lowest common ancestor traversal, 66
iterative routines, using looping constructs, 91
iterative solutions, as usually more efficient than recursive solutions, 91