作为一名程序员我不忘初心,在线面试指南

作为一名程序员我不忘初心,在线面试指南,第1张

概述背景首先我是个菜鸡,工资也低的一笔。刚毕业时候在一家国企上班干app开发,干了快两年的时候,跳槽到了一家伪大厂干安全。投了不少简历都没有回音,只有这加伪大厂要我就来了。当时说好了会接触一些底层的东西,然而平时也就写python脚本,逆向,android上写了一些风控的东西,感觉 背景

首先我是个菜鸡,工资也低的一笔。

刚毕业时候在一家国企上班干 app 开发,干了快两年的时候,跳槽到了一家伪大厂干安全。投了不少简历都没有回音,只有这加伪大厂要我就来了。当时说好了会接触一些底层的东西,然而平时也就写 python 脚本,逆向,androID 上写了一些风控的东西,感觉有点 low,工资也不高,当初没敢多要,hr 给的比我要的还高。刚刚 leader 谈了谈明年的规划,现在想跳槽。

现在也是很尴尬,原来 app 开发的东西也忘了不少,然后其实我想干 framework 开发,自己对 ams,pms 还算挺了解的,平时也根据他们原创了一点微小的解决方案。最近开始 fork 一个 aosp,买个 pixel 改改刷刷练习一下。

理想毕竟是理想,AndroID 低端不好混,没什么经验跳到 framework 上去感觉也是挺难的,跳回 app 开发又不甘心,现在的状态貌似是干了快 3 年没有特别精通的东西。最近闹的裁员,我司也是其中之一。加薪怕是没戏了,然而生活还要继续,跳槽避无可避。

二.面试流程自我介绍面试官根据你的介绍开始问你对我们公司有什么想了解的么(复活卡,要时回到没有了也就没有了,可以让面试官给自己提一下建议)三.面试题回忆,没有先后顺序

1.项目架构,组件化架构(他反而没问插件化)
2. AndroID 事件分发机制(问到源码调用细节)

3.反射怎么调用一个类的私有方法(这里也是问细节,2个方法的区别)
Method method=clazz.getDeclaredMethod(name);//可以调用本类中的所有方法(不包括父类中继承的方法)
Method method=clazz.getmethod(name); //可以调用类中有访问权限的方法(包括父类中继承的方法)

4.怎么监听Activity的生命周期
可能大部分想到的时候自己写个 BaseActivity 就搞定了
其实是在 Application 里面注册一个监听回调的事情

this.registeractivitylifecycleCallbacks(new ActivitylifecycleCallbacks() {     @OverrIDe     public voID onActivityCreated(Activity activity, Bundle savedInstanceState) {}     @OverrIDe     public voID onActivityStarted(Activity activity) {}     @OverrIDe     public voID onActivityResumed(Activity activity) { }     @OverrIDe     public voID onActivityPaused(Activity activity) { }     @OverrIDe     public voID onActivityStopped(Activity activity) { }     @OverrIDe     public voID onActivitySaveInstanceState(Activity activity, Bundle outState) { }     @OverrIDe     public voID onActivityDestroyed(Activity activity) {} });

5.RxJava,RxAndroID 是否用过,用过的话估计会问原理
6.图片缓存框架,用过哪个,原理(这一关想过一定要用透一个)

ImageLoader(不用考虑了)PicassoGlIDeFresco

7.网络请求框架用过哪个(Okhttp, Retrofit, Volley)

这里他想听到的是 OkGo(基于 Okhttp 封装的一个框架)

8.有个业务里面有20几个嵌套的 if else,从设计模式的角度怎么解决这个问题?

他考的是策略模式+工厂模式

9.HashMap,Hashtable,HashSet什么区别?

四.总结

1.这是很有指导意义的一次面试,面试的内容确实比较符合现在对高级AndroID工程师的要求。
2.问的内容比较关注细节,这种要是没有深入了解几乎不知道。
3.面试其实是一个学习成长的过程,找几家公司练练手,然后找到套路之后对症下药。

写在最后

很多人在刚接触这个行业的时候或者是在遇到瓶颈期的时候,总会遇到一些问题,比如学了一段时间感觉没有方向感,不知道该从哪里入手去学习,对此我整理了一些资料,需要的可以免费分享给大家

我的【腾讯文档】会分享一些关于AndroID进阶方面的知识,也会分享一下最新的面试题~

如果你熟练掌握GitHub中列出的知识点,相信将会大大增加你通过前两轮技术面试的几率!这些内容都供大家参考,互相学习。

①「AndroID面试真题解析大全」pdf完整高清版+②「AndroID面试知识体系」学习思维导图压缩包——————可以在我的【Github】阅读下载,最后觉得有帮助、有需要的朋友可以点个赞

片转存中…(img-ncelxKPq-1620368343528)]

[外链图片转存中…(img-Q8fScX3B-1620368343531)]

总结

以上是内存溢出为你收集整理的作为一名程序员我不忘初心,在线面试指南全部内容,希望文章能够帮你解决作为一名程序员我不忘初心,在线面试指南所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1014235.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-22
下一篇 2022-05-22

发表评论

登录后才能评论

评论列表(0条)

保存