Skip to content

Latest commit

 

History

History
74 lines (52 loc) · 2.16 KB

Questions.md

File metadata and controls

74 lines (52 loc) · 2.16 KB

Oral exams questions

1. Languages, Abstract Machines and Execution models

  • TODO

2. Runtime systems

  • TODO

3. Software components

  • TODO

4. Polymorphism

  • TODO

5. Functional Programming

  • TODO

6. Haskell

  • TODO

7. Functional programming in Java 8

  • TODO

9. Scripting Languages and Python

TO ORGANIZE

  • Given a bean, how can we tell what is its public API?
  • Question about complexity of some haskell function. What are the problems between arrays and generics in Java? What happens with generic at runtime/after compilation?
  • Is Python more OO or more functional, according to your opinion?
  • Explain the concept (with written example) of covariance and contravariance in a language with universal polymorphism and explain in what cases their use is safe
  • Explain inversion of control and dependecy injection
  • What is lazy evalutaion in haskell and explain the spirit of IO Monads

Java

  • What are streams in java?
  • Example of lambdas in a context different from streams
  • What are functional interfaces?
  • How the java compiler manges lambdas?
  • Differences between component, packages and classes
  • Talk about the lifecycle of a sw component
  • How can we interact with java beans?
  • How can Netbeans (or another builder tool) provides "live interaction" with a bean?
  • What kind of properties a bean can have?
  • Memory management
  • How are lambda expressions implemented?
  • Talk about streams

Haskell

  • What is "Functor" in haskell?
  • What relationships there are between functor and maybe type class?
  • Lazyness in haskell

Python

  • What are python decorator?
  • How can we write functions with a variable number of arguments
  • What is GIL?
  • Talk about decorators and higher order functions in general
  • Namespaces and scopes
  • What does the @staticmethod decorator do?

Other

  • Describe the different kind of parameter passing strategies
  • What is memoization?
  • Differences between reduce in functional programming and collect in the Java Stream API
  • Give an example of list comprehension and write a function using a functional language that does the same thing, using combinators such as filter, foldr, map, ecc...