C
deleting an element in a linked list, 29
endianness not specified, 154
linked lists problems, 25
next pointer bound with data, 26
passing variables, 41
pointer misuse in, 28
removing all elements from a linked list, 30
reversing the order of words in, 79
shifted negative number as positive or negative, 146
strings and character arrays as essentially identical, 67
strings in, 71
treatment of arrays, 68–69
C#
classes for a tree of integers, 53–54
coding a BST search in, 57
creating generic linked lists, 26
disallowing multiple inheritance of classes, 128–129
function deleting characters from a string, 76–79
garbage collection, 125, 188
nested classes, 187
shift operators, 145
shifted number as negative, 146
strings in, 73
updating the reference to the head of the list, 27–28
use of, 53
C++
arrays in, 70
bound with data, 26
code for stack implementation, 34–35
defining an interface, 125–126
deleting an element in a linked list, 29
differences from Java, 186–187
friend classes in, 187
linked list problems, 25
pointer misuse in, 28
removing all elements from a linked list, 30
shift operators, 145
shifted negative numbers, 146
strings and character arrays as essentially identical, 67
strings in, 72
treatment of arrays, 68–69
C++ versus Java problem, 186–187
call stack, placing data on, 63
capabilities. See actions
career goals, discussing, 196
ceiling function, 172
certification, 4
char array in C, 71
char to Character mapping, 76
char type, holding 16-bit Unicode characters in Java, 72
character(s)
converting into an integer, 74
deleting from a string, 76–79
described, 71
using as the index, 74
character pointer, examining integer bytes, 154
character-to-numeric-value conversion, 84
child lists, 46–47
child node
described, 55
separating each from the node before it, 48
child pointers, 45
chronological ordering in a resume, 210
circle
mathematical function producing, 147–148
radius and circumference in a brainteaser, 179–180, 181
circular references in garbage collection, 189
circularly-linked lists, 27
classes
defined, 121
implementing interfaces, 125, 126
passing via inheritance, 188
classified ads as a job search method, 9
Codd, E.F., 131
code
for all error and special cases, 19
interviewer questions about, 19
tracing through with an example, 19
written in the interview, 17
coding questions
as the meat of an interview, 15
problems in, 16
process followed in interviews, 15–17
scenario for answering, 15
solving, 17–19
columns in tables, 131
combinations, recursive method for generating, 98
Combinations of a String problem, 97–100
combinatorial mathematics, 101
committing transactions, 136
common key, joining tables on, 134
companies
contacting directly, 8–9
finding and contacting, 7–9
Company and Employee Database problem, 137–138
company recruiters. See recruiters
CompareToAll
big-O analysis of, 21, 22
implementation, 20–21
CompareToMax
big-O analysis of, 21, 22
implementation, 20
compensation package, negotiating, 13
computer science students, languages and technologies required of, 3
computers, almost religious attachment to, 195
concurrency, 107
concurrency problems, 112–119
consistency of database transactions, 136
constant pointer, 68
constant running time, 22
constructing an object, 124
constructor method in a class, 124
Consumer thread writing with a Producer thread, 114–117
content organizing on a resume, 208–209
Count Open Lockers problem, 163–164
count values for each character in a string, 74
Counting Cubes problem, 176–179
counting semapores, 108
createStack function, 33
createStack routine, 33
credentials, upgrading, 4
cryptography algorithm, discovery of a new, 190
Cryptography problem, 189–190
cubes
counting in layers, 177
counting those not on the surface, 177
defined, 178
faces of, 176
cubic array
counting cubes on the surface, 177
cubes on the surface of, 176–179
current position pointer, 42
curriculum vitae, compared to a resume, 207
cycle avoidance, in a circularly-linked lists, 27
cyclic list
defined, 50
moving pointers at different speeds, 51–52