当前位置 : 主页 > 网络编程 > 其它编程 >

这个回答让我错失offer!快来收藏!

来源:互联网 收集:自由互联 发布时间:2023-07-02
前言先简单交代一下背景吧本人毕业于某不知名985的本硕17年毕业加入阿里今年下半年跳槽到了头条一直从事后端研发相关 前言 先简单交代一下背景吧本人毕业于某不知名985的本硕17年
前言先简单交代一下背景吧本人毕业于某不知名985的本硕17年毕业加入阿里今年下半年跳槽到了头条一直从事后端研发相关

前言

先简单交代一下背景吧本人毕业于某不知名985的本硕17年毕业加入阿里今年下半年跳槽到了头条一直从事后端研发相关的工作。

之前没有实习经历算是两年半的工作经验吧。这两年半之间完成了一次晋升换了一家公司有过开心满足的时光也有过迷茫挣扎的日子不过还算顺利地从一只职场小菜鸟转变为了一名资深划水员。

在这个过程中总结出了一些还算实用的划水经验有些是自己领悟到的有些是跟别人交流学到的在这里跟大家分享一下。

1、Java se基础

1).Java基本数据类型与表达式分支循环。 2).String和StringBuffer的使用、正则表达式。 3).面向对象的抽象封装继承多态类与对象对象初始化和回收构造函数、this关键字、方法和方法的参数传递过程、static关键字、内部类。 4).对象实例化过程、方法的覆盖、final关键字、抽象类、接口、继承的优点和缺点剖析对象的多态性子类和父类之间的转换、抽象类和接口在多态中的应用、多态带来的好处。 5).Java异常处理异常的机制原理。 6).常用的设计模式Singleton、Template、Strategy模式。 7).JavaAPI介绍种基本数据类型包装类System和Runtime类Date和DateFomat类等。 8).Java集合介绍Collection、Set、List、ArrayList、LinkedList、Hashset、Map、HashMap、Iterator等常用集合类API。 9).JavaI/O输入输出流File和FileRandomAccess类字节流InputStream和OutputStream字符流Reader和Writer以及相应实现类IO性能分析字节和字符的转化流包装流的概念以及常用包装类计算机编码。 10).Java高级特性反射和泛型。 11).多线程原理如何在程序中创建多线程(Thread、Runnable)线程安全问题线程的同步线程之间的通讯、死锁。

2、android UI编程

1)、Android开发环境搭建Android介绍Android开发环境搭建第一个Android应用程序Android应用程序目录结构。

2)、Android初级控件的使用

TextView控件的使用 Button控件的使用方法 EditText控件的使用方法 ImageView的使用方法 RadioButton的使用方法 Checkbox的使用方法 Menu的使用方法

3)、Android高级控件的使用

ListView的使用方法 GridView的使用方法 Adapter的使用方法 Spinner的使用方法 Gallary的使用方法 ScrollView的使用方法 RecyclerView

4、对话框与菜单的使用

Dialog的基本概念 BlockquoteAlertDialog的使用方法 DatePickerDialog的使用方法 Menu的使用方法 自定义Menu的实现方法

5.控件的布局方法

线性布局的使用方法 相对布局的使用方法

6.多Acitivity管理

AndroidManifest.xml文件的作用 Intent的使用方法 使用Intent传递数据的方法 启动Activity的方法 IntentFilter的使用方法 Activity Group的使用方法

7、自定义控件实现方法

自定义ListView的实现方法 可折叠ListView的使用方法 自定义Adapter的实现方法 自定义View的实现方法 动态控件布局的上实现方法 上拉刷新下拉加载更多

3、android网络编程与数据存储

1).基于Android平台的HTTP通讯

Http协议回顾 使用Get方法向服务器提交数据的方法 使用POST方法向服务器提交数据的实现方法 使用Http协议实现多线程下载 使用Http协议实现断点续传

2).Android数据存储技术

SQLite3数据库简介 SQL语句回顾 SQLite3编程接口介绍 SQLite3事务管理 SQLite3游标使用方法 SQLite3性能分析 访问SDCard的方法 访问SharedPreferences的方法

初级工程师

技术要求

  • 基本知识点 比如四大组件如何使用、如何创建Service、如何进行布局、简单的自定义View、动画等常见技术
  • 书籍推荐 《第一行代码 Android》、《疯狂Android》

中级工程师

技术要求

  • 稍微深入的知识点 AIDL、Messenger、Binder、多进程、动画、滑动冲突、自定义View、消息队列等

  • 书籍推荐 《Android开发艺术探索》、《Android群英传》

  • AIDL熟悉AIDL理解其工作原理懂transact和onTransact的区别

  • Binder从Java层大概理解Binder的工作原理懂Parcel对象的使用

  • 多进程熟练掌握多进程的运行机制懂Messenger、Socket等

  • 事件分发弹性滑动、滑动冲突等

  • 玩转ViewView的绘制原理、各种自定义View

  • 动画系列熟悉View动画和属性动画的不同点懂属性动画的工作原理

  • 懂性能优化、熟悉mat等工具

  • 懂点常见的设计模式

  • 搞懂view的滑动原理

  • 搞懂如何实现弹性滑动

  • 搞懂view的滑动冲突

  • 搞懂view的measure、layout和draw

  • 然后再学习几个已有的自定义view的例子

  • 最后就可以搞定自定义view了所谓万变不离其宗

高级工程师

技术要求

  • 稍微深入的知识点

  • 系统核心机制

  • 基本知识点的细节

  • 设计模式和架构

  • 书籍推荐 《Android开发艺术探索》、《Android 源码设计模式解析与实战》、《Android内核剖析》

  • 继续加深理解”稍微深入的知识点“中所定义的内容

  • 了解系统核心机制

  • 了解SystemServer的启动过程
  • 了解主线程的消息循环模型
  • 了解AMS和PMS的工作原理
  • 能够回答问题”一个应用存在多少个Window“
  • 了解四大组件的大概工作流程
    • 基本知识点的细节
  • Activity的启动模式以及异常情况下不同Activity的表现
  • Service的onBind和onReBind的关联
  • onServiceDisconnected(ComponentName className)和binderDied()的区别
  • AsyncTask在不同版本上的表现细节
  • 线程池的细节和参数配置
    • 熟悉设计模式有架构意识学习方法
    我见过很多技术leader在面试的时候遇到处于迷茫期的大龄程序员比面试官年龄都大。这些人有一些共同特征可能工作了5、6年还是每天重复给业务部门写代码工作内容的重复性比较高没有什么技术含量的工作。问到这些人的职业规划时他们也没有太多想法。

    其实30岁到40岁是一个人职业发展的黄金阶段一定要在业务范围内的扩张技术广度和深度提升上有自己的计划才有助于在职业发展上有持续的发展路径而不至于停滞不前。

    不断奔跑你就知道学习的意义所在

    《Android高级架构师面试指导2021大厂面试真题》免费领取

    [外链图片转存中…(img-AF58Znn0-1623241945163)]

    《Android高级架构师面试指导2021大厂面试真题》免费领取

    [外链图片转存中…(img-Q74dExgM-1623241945165)]

    上一篇:在java中更快地重新制定方程式
    下一篇:没有了
    网友评论