Exam help
Computer hardware
- Different buses and their uses
- What are the differences between hard disk drive (HDD) and solid state drive (SSD)? [1]
- What is the purpose of Flash Translation Layer in terms of solid state drives?
HDDs have spinning plates with magnetic coating, while SSDs have no moving parts and instead are filled with flash memory.
- What are difference between volatile/non-volatile, RAM, ROM, EEPROM and where are they used?
- What is data retention?
- What are difference between asynchronous/synchronous, dynamic/static RAM and where are they used?
- What is cache? What is cache coherence?
- What are differences between resistive and capacitive touchscreen? [2]
- Explain how computer mouse works? History of computer mouse.
- Explain how computer keyboard works? HowStuffworks article Explain that Stuff article Keyboard History
- Explain how cathode ray tube (CRT) based screen technology works and name pros/cons. [3]
- Explain how liquid crystal displays (LCD) work and name pros/cons. [4]
- Name screen technologies making use of thin film transistor (TFT) technology? [5]
- Name uses for light polarization filters? [6] [7]
- What are the benefits of twisted pair cabling and differential signalling?
- Active matrix vs passive matrix in display technology
Storage abstractions
- What is a block device?
- What is logical block addressing and what are the benefits compared to older cylinder-head-sector addressing method in terms of harddisks?
- What is a disk partition?
- What is a file system?
- What is journaling in terms of filesystems and what are the benefits? Name some journaled filesystems in use nowadays.
Bootloaders, kernels
- What is the role of BIOS/UEFI in x86-based machines?
- Explain step by step how operating system is booted up, see slides for flowchart.
- Describe the functionality provided by general purpose operating system. See architecture of Windows NT, Android, OS X.
- What are the main differences between real mode and protected mode of x86-based processor?
- What happens during context switch?
- What is the purpose of paged virtual memory?
Libraries, frameworks
Programming languages
- What are the major steps of compilation?
- What are the differences between interpreted, JIT-compilation and traditional compiling?
- What is control flow? Loops? Conditional statements?
Data encoding
- What is bit? Nibble? Byte? Word?
- Write 9375 in binary, hexadecimal?
- Write 0xDEADBEEF in decimal?
- What is quantization in terms of signal processing?
- How are integers stored in binary? What integer range can be described using n bits? How many bits are required to describe integer range from n .. m.
- How are single precision and double precision floating point numbers stored in binary according to IEEE754 standard? Floating-point multiplication
- What is the difference between CMYK and RGB color models? How are YUV, HSV and HSL colorspaces related to RGB? What are sRGB and YCbCr and where are they used?
- How is data encoded on audio CD-s? What is the capacity of an audio CD?
- What is sampling rate? What is bit depth? What is resolution?
- What is bitrate?
- What is lossy/lossless compression?
- What is JPEG suitable for? Is JPEG lossy or lossless compression method?
- What is PNG suitable for? Does PNG support compression?
- How are time domain and frequency domain related in terms of signal processing? What is Fourier transform and where it is applied?
Code execution in processor
- Given ~10 instructions and their explainations, follow the instructions and elaborate after every step what happened in the processor?
Microcontrollers
- What distinguishes microcontroller from microprocessor?
- What are the differences between Hardvard architecture and von Neumann architecture?
- What is an interrupt?
- What is an timer?
Introduction to Boole algebra
- Simplify A AND A OR B
- Show addition of X and Y in binary
- Show subtraction of X and Y in binary
- Show multiplication of X and Y in binary
Hardware description languages
- What are the uses for hardware description languages?
- What is latch?
- What is flip-flop?
- What is mux (multiplexer)?
- What is register? Register file?
- What is ALU?
- What is floating-point unit?
- What is a cache?
- What is a bus?
- Show the circuit diagram for A OR B AND C, NOT A AND B, <insert some other Boole formula here>?
- Show the truth table for <insert Boole formula here>?
- Write the equivalent Boole formula of a circuit diagram.
Publishing work
- What are the major implications of MIT, BSD and GPL licenses?
- What are the differences between copyright, trademark, trade secret?
- Where would you use waterfall software development model? Where would you use agile?
- What is the purpose of a version control system?
- What would you store in a version control system?
Algorithms and data structures
- What is time complexity of algorithm?
In computer science, the time complexity of an algorithm quantifies the amount of time taken by an algorithm to run as a function of the length of the string representing the input. Time complexity is commonly estimated by counting the number of elementary operations performed by the algorithm, where an elementary operation takes a fixed amount of time to perform.
- What is space complexity of algorithm?
Space complexity is a measure of the amount of working storage an algorithm needs. That means how much memory, in the worst case, is needed at any point in the algorithm. It represents the total amount of memory space that a "normal" physical computer would need to solve a given computational problem with a given algorithm.
- What's a good algorithm?
History
- What is Moore's law? What is Rock's law?
Moore's law is the observation that the number of transistors in a dense integrated circuit doubles approximately every two years. The observation is named after Gordon E. Moore, the co-founder of Intel and Fairchild Semiconductor, whose 1965 paper described a doubling every year in the number of components per integrated circuit, and projected this rate of growth would continue for at least another decade. In 1975, looking forward to the next decade, he revised the forecast to doubling every two years. Rock's law or Moore's second law, named for Arthur Rock or Gordon Moore, says that the cost of a semiconductor chip fabrication plant doubles every four years. As of 2015, the price had already reached about 14 billion US dollars.
- What were the major contributing factors for success of Microsoft, Apple, Google, <your favourite company>?
- What were the major contributing factors to the success of Silicon Valley?