Computer Science Flashcards
What does a Just in Time compiler has to offer? Do you know of any programming language runtimes that use one?
Just In Time compiler uses intermediate language code and compiles it in native code based on CPU architecture on demand. It may store already compiled code and reuse it when it’s issued repeatedly. JIT compiler is used by CLR and Java Runtime
How is a preemptive threading model different from the cooperative threading model?
Cooperative threading model means that thread itself control whether it continue to use CPU core or yield it to another thread, while preemptive model suggests that virtual machine or some other kind of scheduler can forcefully recall thread from using a core and grant it to another thread at will.
What tools & practices would you consider necessary for a Continuous Delivery solution?
CD is an approach of deploying new versions of application as soon as possible. It reduces feedback loop, but must be implemented cautiously. To ensure that every version is safe to deploy automated quality assurance is required - autotests must be ran before any deploy. To reduce friction and to support deploy tempo there must be deploy automation tool, such as Octopus. Deployment configuration must be under version control and all changes to deployment pipeline must be performed with code review. Also canary deployment, rollback scenarios and preprod environment might be used to reduce blast radius of errors.
I would also argue that to achieve its goal deployment must be fast and that can be achieved by reducing application size and separating apps into smaller services.
How is a code point related to a code unit in Unicode?
Code point is a numeric indication of place in code space, while code unit in Unicode is particular sequence of bits that encode certain character
What do you think makes a unit test good? What about functional ones?
Good unit test is a granular one, that means it tests only one thing and has a single reason to fail. Functional test is different, it tests system against functional requirements, so to be good it should accurately represent all prerequisites and simulate user’s action as closely as possible