Some of the questions I am asking: - explain the difference between final and const - what is re-layout boundary - does layout in Flutter require single pass to measure and layout widgets or separate passes - when measuring and laying out widgets, explain what are responsibilities of a parent and child widget - is it permissable to use empty function as a parameter of setState() - what are the benefits of strong types - what are the benefits of non-nullable code - what is responsible for rendering in Flutter? - explain mixin - when would you use extension - is Dart compiled or interpreted language
I code Flutter more than 2 years. Still I don't know how to answer some of those questions. For example, I've used Multi/Single/Leaf RenderObjectWidget to create Widgets which are hard to implement with common widgets but I don't know how to answer "what is responsible for rendering in Flutter?" or "what is re-layout boundary". (RepaintBoundary?)
@@someuser9562 yeah your right lol i have been using flutter at least 1.5 years and i did develop some nice apps.. but this questions are really bad haha , i just knew like 20/30% of them xD
Difference between final and const: final is used to declare a variable that can be assigned a value only once. It is evaluated at runtime and can have different values for different instances. Once assigned, its value cannot be changed. const is used to declare a compile-time constant. It's a constant value known during compilation and remains the same for all instances. It's evaluated at compile time and is useful for performance optimizations. Re-layout boundary: A re-layout boundary in Flutter is a point in the widget tree where Flutter stops laying out its children. It helps optimize the rendering process by avoiding unnecessary layout calculations if the layout of certain widgets doesn't change. Layout in Flutter: Flutter uses a single-pass layout model. During the layout phase, each widget provides its preferred size, and the parent widget decides how to allocate space to its children based on those sizes. The layout process starts at the root widget and propagates down the tree. Responsibilities of parent and child widgets during layout: Parent Widget: The parent widget is responsible for providing constraints to its children, deciding how much space each child can occupy, and positioning them within its layout. Child Widget: The child widget is responsible for measuring itself within the given constraints provided by the parent and reporting its preferred size. Using an empty function as a parameter of setState(): Yes, it is permissible to use an empty function as a parameter of setState(). setState() requires a callback function, and if you don't need to perform any specific actions when the state is updated, you can pass an empty function as a placeholder. Benefits of strong types: Strong types in Dart (which Flutter uses) help catch type-related errors during compile-time rather than runtime, reducing the possibility of bugs and improving code quality. Strongly typed code is easier to understand, refactor, and maintain. It also provides better tooling support like code completion, refactoring, and static analysis. Benefits of non-nullable code: Non-nullable code in Dart (introduced with Dart 2.12) adds null safety to the language, which helps eliminate null reference errors and makes code more reliable. Non-nullable code enables better static analysis, improved documentation, and easier understanding of code intent. What is responsible for rendering in Flutter: In Flutter, the rendering is handled by the Flutter framework itself. It has its own rendering engine that takes the widget tree as input, performs layout calculations, and paints the widgets onto the screen. Mixin: A mixin is a way to reuse a set of class members (methods and properties) in multiple class hierarchies without inheritance. It allows you to add functionality to a class without explicitly subclassing it. When to use extension: Extensions in Dart allow adding new functionality to existing classes. They are used to add methods or operators to an existing class without modifying its source code. Extensions are useful when you want to extend a class from an external library or when you want to add utility methods to built-in types. Is Dart a compiled or interpreted language: Dart is a compiled language. Dart source code is compiled into bytecode (using the Dart VM) or into native code (using the Dart AOT compiler) before execution. This compiled code is then executed by the Dart runtime environment.
We can benefit from adding post-production subtitles, in case you mispronounced something in the interview question. In most cases, I had to wait for Obella's answer to understand what you asked.
Hey @alexandroheredia, Thanks for the great suggestion! We're working on incorporating post-production subtitles in our videos, so stay tuned for those and other new content. Cheers Turing
14:48 Lol, the late example is a very good one but I think something else would be better because when you introduce a late variable to a widget that can be unmounted then you don't need a hot restart because all that is required is unmount and mount, like back to home page then profile page again assuming the profile page is the widget that now has the late variable and you are on the page.
i really hope that wasn't an interview for a junior position the first questions were okay... the more we get into the video the more complicated they got even some questions didn't understand them....i started flutter 4 months ago and hopefully, I'll find a job by the end of the year thanks for the content
Hi @iboy883, This mock interview is aimed towards Senior Flutter Developers. We're excited about your future prospects and love the fact that you're putting in the right efforts! Here's a list of resources that might help you to achieve your goal. Coursera - www.coursera.org/learn/algorithmic-thinking-1 Hackerrank - https:/hackerrank.com/ Codility - app.codility.com/demo/take-sample-test/ Khan Acadamy - www.khanacademy.org/computing/computer-science/algorithms Data structures and algorithms - leetcode.com System Design - github.com/donnemartin/system-design-primer OOP & Design Patterns - th-cam.com/play/PLF206E906175C7E07.html Git - git-scm.com/book/en/v2 w3schools- www.w3schools.com/ Good luck! Regards, Turing
By working on real life projects as much as possible the faster and more rigorously you would do this the more quicker you can gain equivalent experience to that of obella !
Its way different than ReactNative :) Main difference you can say is that Flutter renders every pixel on the device on its own instead of relying on underlying platform controls.
To be more clear Flutter is both a framework and an SDK (Software Development Kit). The Flutter framework is a UI toolkit that provides a set of pre-designed widgets and tools for building user interfaces for applications. On the other hand, the Flutter SDK includes not only the framework but also essential tools, libraries, and compilers needed for developing, testing, and debugging Flutter applications. In summary, Flutter as a framework focuses on the UI components and structure, while the Flutter SDK encompasses the entire set of tools and resources for Flutter app development.
I'm glad I found this channel, I'm happy to learn more.
Some of the questions I am asking:
- explain the difference between final and const
- what is re-layout boundary
- does layout in Flutter require single pass to measure and layout widgets or separate passes
- when measuring and laying out widgets, explain what are responsibilities of a parent and child widget
- is it permissable to use empty function as a parameter of setState()
- what are the benefits of strong types
- what are the benefits of non-nullable code
- what is responsible for rendering in Flutter?
- explain mixin
- when would you use extension
- is Dart compiled or interpreted language
I code Flutter more than 2 years. Still I don't know how to answer some of those questions. For example, I've used Multi/Single/Leaf RenderObjectWidget to create Widgets which are hard to implement with common widgets but I don't know how to answer "what is responsible for rendering in Flutter?" or "what is re-layout boundary". (RepaintBoundary?)
@@someuser9562 yeah your right lol i have been using flutter at least 1.5 years and i did develop some nice apps.. but this questions are really bad haha , i just knew like 20/30% of them xD
Difference between final and const:
final is used to declare a variable that can be assigned a value only once. It is evaluated at runtime and can have different values for different instances. Once assigned, its value cannot be changed.
const is used to declare a compile-time constant. It's a constant value known during compilation and remains the same for all instances. It's evaluated at compile time and is useful for performance optimizations.
Re-layout boundary:
A re-layout boundary in Flutter is a point in the widget tree where Flutter stops laying out its children. It helps optimize the rendering process by avoiding unnecessary layout calculations if the layout of certain widgets doesn't change.
Layout in Flutter:
Flutter uses a single-pass layout model. During the layout phase, each widget provides its preferred size, and the parent widget decides how to allocate space to its children based on those sizes. The layout process starts at the root widget and propagates down the tree.
Responsibilities of parent and child widgets during layout:
Parent Widget: The parent widget is responsible for providing constraints to its children, deciding how much space each child can occupy, and positioning them within its layout.
Child Widget: The child widget is responsible for measuring itself within the given constraints provided by the parent and reporting its preferred size.
Using an empty function as a parameter of setState():
Yes, it is permissible to use an empty function as a parameter of setState(). setState() requires a callback function, and if you don't need to perform any specific actions when the state is updated, you can pass an empty function as a placeholder.
Benefits of strong types:
Strong types in Dart (which Flutter uses) help catch type-related errors during compile-time rather than runtime, reducing the possibility of bugs and improving code quality.
Strongly typed code is easier to understand, refactor, and maintain. It also provides better tooling support like code completion, refactoring, and static analysis.
Benefits of non-nullable code:
Non-nullable code in Dart (introduced with Dart 2.12) adds null safety to the language, which helps eliminate null reference errors and makes code more reliable.
Non-nullable code enables better static analysis, improved documentation, and easier understanding of code intent.
What is responsible for rendering in Flutter:
In Flutter, the rendering is handled by the Flutter framework itself. It has its own rendering engine that takes the widget tree as input, performs layout calculations, and paints the widgets onto the screen.
Mixin:
A mixin is a way to reuse a set of class members (methods and properties) in multiple class hierarchies without inheritance. It allows you to add functionality to a class without explicitly subclassing it.
When to use extension:
Extensions in Dart allow adding new functionality to existing classes. They are used to add methods or operators to an existing class without modifying its source code. Extensions are useful when you want to extend a class from an external library or when you want to add utility methods to built-in types.
Is Dart a compiled or interpreted language:
Dart is a compiled language. Dart source code is compiled into bytecode (using the Dart VM) or into native code (using the Dart AOT compiler) before execution. This compiled code is then executed by the Dart runtime environment.
This was so clean. Great work Obella
Glad you liked it! :)
We can benefit from adding post-production subtitles, in case you mispronounced something in the interview question. In most cases, I had to wait for Obella's answer to understand what you asked.
Hey @alexandroheredia,
Thanks for the great suggestion!
We're working on incorporating post-production subtitles in our videos, so stay tuned for those and other new content.
Cheers
Turing
Great mock interview and Obella just rocks!
Glad you found this helpful! :)
Great, finally @Jose, you brought flutter to the table
Indeed! Glad you liked it! :)
Obella you really have good knowledge , good work
Thank you for the love on the video! :)
14:48 Lol, the late example is a very good one but I think something else would be better because when you introduce a late variable to a widget that can be unmounted then you don't need a hot restart because all that is required is unmount and mount, like back to home page then profile page again assuming the profile page is the widget that now has the late variable and you are on the page.
Very useful video. Thank you guys both of you were amazing.
Glad it was helpful!
i really hope that wasn't an interview for a junior position the first questions were okay... the more we get into the video the more complicated they got even some questions didn't understand them....i started flutter 4 months ago and hopefully, I'll find a job by the end of the year thanks for the content
Hi @iboy883,
This mock interview is aimed towards Senior Flutter Developers.
We're excited about your future prospects and love the fact that you're putting in the right efforts!
Here's a list of resources that might help you to achieve your goal.
Coursera - www.coursera.org/learn/algorithmic-thinking-1
Hackerrank - https:/hackerrank.com/
Codility - app.codility.com/demo/take-sample-test/
Khan Acadamy - www.khanacademy.org/computing/computer-science/algorithms
Data structures and algorithms - leetcode.com
System Design - github.com/donnemartin/system-design-primer
OOP & Design Patterns - th-cam.com/play/PLF206E906175C7E07.html
Git - git-scm.com/book/en/v2
w3schools- www.w3schools.com/
Good luck!
Regards,
Turing
2:37 Flutter is an SDK rather than just a framework
Wow, this guy is great
Glad you liked the video! :)
Easy interview
its helpful video Thank you!!
Obella has 6 years experience in mobile development. But I'm wonder as a newbie.
How can i estimate to reach obellas knowledge in flutter area?
By working on real life projects as much as possible the faster and more rigorously you would do this the more quicker you can gain equivalent experience to that of obella !
Great interview sir .These question help me lot ❤👏👏👏👏👏👏
Glad to hear that! :)
in a coding interview there is no option about dart language why ?
I think, this is easier for a six year experience person.
I like this interview
Very interesting and informative
Glad you enjoyed the video! :)
Great mock interview
Thank you! Glad you found it helpful! :)
This was really good 😊
Glad you liked it! :)
that was very clean , but his voice need to be higher
Obella 💯/💯
nice 👏🏻👏🏻👏🏻👏🏻
waw, that was awesome
Glad you enjoyed it! :)
Looks flutter is somehow similar to reactNative..
Its way different than ReactNative :) Main difference you can say is that Flutter renders every pixel on the device on its own instead of relying on underlying platform controls.
ReactNative uses javascript window whereas flutter uses SKIA
🎉🎉❤
6 years experience in Flutter? Are you part of the original Flutter team or how is that?😂
No he said mobile and 3 years in flutter
Most of his answers are either incorrect or incomplete.
Flutter is not a framework. it's SDK
İts open source framework for making cross platform applications using Dart, also open source SDK .. so you can define it by using both definitions
To be more clear
Flutter is both a framework and an SDK (Software Development Kit). The Flutter framework is a UI toolkit that provides a set of pre-designed widgets and tools for building user interfaces for applications. On the other hand, the Flutter SDK includes not only the framework but also essential tools, libraries, and compilers needed for developing, testing, and debugging Flutter applications. In summary, Flutter as a framework focuses on the UI components and structure, while the Flutter SDK encompasses the entire set of tools and resources for Flutter app development.