Exam help
From ICO wiki
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?
- 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?
- What is space complexity of algorithm?
- What's a good algorithm?
History
- What is Moore's law? What is Rock's law?
- 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?