本文共 1613 字,大约阅读时间需要 5 分钟。
应该算是起点比较高吧!985大学毕业后面一直在国外读研。之前准备面试微软但是可能经验不够,没有通过。经过朋友介绍我准备回国,积累一些开发经验。于是我面试了国内大厂BATJ,还有一些其他比较知名的公司,一共报了11家。我朋友说这叫广撒网多捞鱼!
其他就不说了BATJ都过了,但是由于地区还有待遇问题,我选择了讯飞一家不大不小的公司。一开始做的挺好的,没想到…
1.自我介绍
2.做过哪些项目,用过哪些技术 3.四大组件 4.activity生命周期 5.启动模式 6.线程状态 7.网络协议(每一层、还有TCP和UDP) 8.会不会网络编程 9.handler 10.JVM,内存模型那些 11.GC机制(有哪些方法哪些问题) 12.项目中的数据库 13.HashMap、HashTable、ConcurrentHashMap1 14.反问环节1.自我介绍
2.TCP和UDP以及应用场景(三次握手四次挥手也是基本上都会问的) 3.算法题:字符串根据字典分割的问题。一开始给的解决方法时间复杂度太高,一直要求优化。 4.介绍做过的项目,沿着项目一直问下去(重点问遇到的问题以及解决的方式) 5.Binder通信机制 6.React Native跟原生开发的优劣 7.View事件分发机制和View绘制原理 8.反问,聊天环节 追问比较多,但没有很难的地方,没有什么我一个字也答不上来的。1.自我介绍
2.广播和 EventBus 的区别? 3.搭建一个自己的图片加载框架思路,怎么做 4.Bitmap的内存计算方式、高效加载 5.Binder的通信过程?Binder的原理?与其他IPC方式的优缺点? 6.handler 的底层实现原理 7.RxJava各种操作符,设计思想。 8.卡顿优化,原理,操作 9.做过哪些优化?怎么实现,遇到哪些问题,怎么解决 10.提问交流环节1.看过多少源码
2.网络协议okhttp中的缓存机制,dex加载流程,组件化的原理; 3.MVC MVP MVVM原理和区别 4.如果让你实现一个调试器,你会怎么设计?静态调试?动态调试呢? 5.热修复、插件化、组件化 6.Android Framework源码 7.你都用过哪些设计模式?说说当时具体的场景。为什么你要用方法工厂,另外两种呢? 8.kotlin、flutter区别优缺点,掌握多少 9.有什么想要问我的1.项目
2.规划 3.马上要项目汇报了,PPT出问题了,你会怎么办 4.薪资 5.提问环节现在新技术层出不穷,如果每次出新的技术,我们都深入的研究的话,很容易分散精力。新的技术可能很久之后我们才会在工作中用得上,当学的新技术无法学以致用,很容易被我们遗忘,到最后真的需要使用的时候,又要从头来过(虽然上手会更快)。
我觉得身为技术人,针对新技术应该是持拥抱态度的,入了这一行你就应该知道这是一个活到老学到老的行业,所以面对新技术,不要抵触,拥抱变化就好了。
Flutter 明显是一种全新的技术,而对于这个新技术在发布之初,花一个月的时间学习它,成本确实过高。但是周末花一天时间体验一下它的开发流程,了解一下它的优缺点、能干什么或者不能干什么。这个时间,并不是我们不能接受的。
如果有时间,其实通读一遍 Flutter 的文档,是最全面的一次对 Flutter 的了解过程。但是如果我们只有 8 小时的时间,我希望能关注一些最值得关注的点。
(跨平台开发(Flutter)、java基础与原理,自定义view、NDK、架构设计、性能优化、完整商业项目开发等)
*)、java基础与原理,自定义view、NDK、架构设计、性能优化、完整商业项目开发等)
[外链图片转存中…(img-NAdQsqRw-1611136496916)]
转载地址:http://qomlf.baihongyu.com/