安卓软件开发教程!全世界都在问 Android 开发凉了吗?offer 拿到手软
前言
众所周知,Xamarin 应该是.net 下的跨平台开发工具。2016 年之前还处于收费状态,后被微软收购后开源。但似乎有个现象,开源后的 Xamarin 发展似乎有些停滞,而且维护 Xamarin 的团队又很固执不愿变通。社区多次建议 UI 层应该统一绘图引擎,而不是映射原生控件。
Xamarin.Forms 给人的感觉就是性能差,动画僵硬,效果不好实现。以至于谷歌的 Flutter 火爆之后,Xamarin 社区很多人便转移阵地,你在百度搜索 Xamarin,第一个关键词就是 xamarin 还有人用么。
那么对于 C#/.net 开发者来说,唯一的问题就是界面,就有了开源项目 Xamarin.Flutter,但过完年没多久,项目就 Archived 了,adamped 说仅靠他和几个开发人员的业余时间很难搞定。但技术上确实可行,因为 Skia 在.net 下本来就有绑定 SkiaSharp,而 Flutter 底层便使用的 Skia 引擎。UIWidgets 就是在 Unity3D 下的 Flutter 实现。那对于我们.net 开发者有没有一种可能就是界面使用 Flutter,业务逻辑采用 C#呢,答案是可行的,请看如下分解。
算法的地位
大家都知道算法的重要性,有过面试经历的人都知道,目前国内的大厂已经越来越效仿硅谷公司的做法,通过面试给定题编程,来考察应聘者数据结构和算法的扎实程度。
私下交流得知,我的这位朋友遇到的也是一样的情况,他面试的公司都是大厂。从一开始他就知道大厂面试的习惯,于是,他坚持刷了 2 个月的算法题,终于拿到了他梦寐以求的大厂 offer,薪资涨幅非常可观。他还跟我嘚瑟,说面字节跳动的时候还遇到了原题……
果然,夜路走多了……哦不,题目刷多了,总会遇到原题的。
这种方式,即使对于工作多年的开发人员,没有经过训练,很容易就挂了,从而与大厂失之交臂。我认识不少以前履历普通的,但是他们通过刷题改变了自己的人生轨迹,从而走向更高的平台。
![](https://static001.geekbang.org/infoq/a7/a7968c4cc1b12588e2a92d7fa45a96f6.png)
简单来说,算法刷题实在是太重要了。
因为据我所知很多大厂技术面试的要求是:技术要好,计算机基础扎实,熟练掌握算法和数据结构。语言倒是不重要,但是熟练度很重要。关键是每一轮技术面试都可能考代码,这方面考的不只是算法,但一定会考算法。
考算法的核心就是看候选人够不够聪明。
这方面的考试一般会分两步,第一步是直接让你说思路,第二步是让你直接上手写代码。很多大厂的算法题一般对应的是 LeetCode 中级模式,要通过面试,你肯定得花时间好好准备。
![](https://static001.geekbang.org/infoq/a7/a7968c4cc1b12588e2a92d7fa45a96f6.png)
算法是面试的一个重要环节
在面试中,业务问题可以只提前一点点时间好好总结总结就差不多了,但是,算法这样的就必须依靠牢固的基础和刷题量。
算法根基不扎实,不仅难过面试,对于代码性能的提升、编程语言的驾驭也会比别人弱很多。因此,现在算法基础不牢固的同学,都很难通过大厂的面试。但是只靠刷题去提升算法能力,进度太慢,而且还容易抓不住重点。
最后
考虑到文章的篇幅问题,我把这些问题和答案以及我多年面试所遇到的问题和一些面试资料做成了 PDF 文档,如果有需要的朋友可以私信我【面试】免费领取
![](https://static001.geekbang.org/infoq/a7/a7968c4cc1b12588e2a92d7fa45a96f6.png)
![](https://static001.geekbang.org/infoq/a7/a7968c4cc1b12588e2a92d7fa45a96f6.png)
喜欢的朋友可以关注、转发、点赞 感谢!
评论