美文网首页Android开发经验谈
刚毕业的Android小白,居然遇到这事成功进入字节跳动!果然机

刚毕业的Android小白,居然遇到这事成功进入字节跳动!果然机

作者: 程序员面试秘籍 | 来源:发表于2020-11-24 16:46 被阅读0次

前言

对于我这种刚刚毕业半年,很多公司连简历都比较难过。所以也没有一些非常大的公司的面试机会。因为大公司社招和校招分的很清楚。最终自己决定去那家VR的创业公司了,原因有以下几点:我本放荡不羁爱自由,第一当然是兴趣,第二呢希望补充Android方面NDK的技术,第三希望可以做一些OpenGL领域更深入研究,而VR正是对其要求非常高,自己也想去挑战这方面的技术瓶颈。没想到上班第一天就遇到了字节跳动移动部门负责人......

某创业公司

这家创业公司的面试其实只能算是缘分吧。可能就是传说中的非常适合吧。他们是做VR的,所以比较关注我的OpenGL技能(其他公司都对我这一点不以为然)。而且他们会去做各种动画效果,所以也知道骨骼动画是个什么东西。而我从零开发了一个骨骼动画引擎,他们也知道这个的难度,虽然是个2D的,但是原理大致相同,自然也是十分青睐。而且他们是要做SDK,而我也有开发SDK的经历。

主要问的问题都是针对于OpenGL和我写的骨骼动画引擎和细节,还有SDK的设计这三方面。在这个面试过程中也感受出了他们公司技术还是可以的。因为自己搞OpenGL事件比较短,理解还不是很深,面试哥从OpenGL怎样工作的,和GPU怎样工作的给我讲了一通……在理解深度上被完爆……

之后几轮技术面差不多同样内容。最后就是创业公司的尿性嘛,副总裁、CEO随便面面就OK了。

1个礼拜后,入职!

去报到的时候,开第一个部门会议的时候,刚好遇到了字节跳动Android部门负责人,于是有了联系方式,也为后面跳槽去了字节跳动奠定了基础!

我的学习之路

字节跳动,Android部门任职资格

按照这个我把学习技能分为以下几个模块,在这里工作的时间与学习计划做了一个规划:


学习思维路线图详细展开:

Android基础进阶
  • Java面向对象编程
    本阶段主要讲解Java语言、面向对象程序设计以及设计模式,主要内容有:
    1.Java基本数据类型与表达式,分支循环。
    2.String和StringBuffer的使用、正则表达式。
    3.面向对象的抽象,封装,继承,多态,类与对象,对象初始化和回收;构造函数、this关键字、方法和方法的参数传递过程、static关键字、内部类,Java的垃极回收机制,Javadoc介绍。
    4.对象实例化过程、方法的覆盖、final关键字、抽象类、接口、继承的优点和缺点剖析;对象的多态性:子类和父类之间的转换、抽象类和接口在多态中的应用、多态带来的好处。
    5.Java异常处理,异常的机制原理。
    6.常用的设计模式:Singleton、Template、Strategy模式。
    7.JavaAPI介绍:种基本数据类型包装类,System和Runtime类,Date和DateFomat类等。
    8.Java集合介绍:Collection、Set、List、ArrayList、Vector、LinkedList、Hashset、TreeSet、Map、HashMap、TreeMap、Iterator、Enumeration等常用集合类API。
    9.Java I/O输入输出流:File和FileRandomAccess类,字节流InputStream和OutputStream,字符流Reader和Writer,以及相应实现类,IO性能分析,字节和字符的转化流,包装流的概念,以及常用包装类,计算机编码。
    10.Java高级特性:反射、代理和泛型。
    11.多线程原理:如何在程序中创建多线程(Thread、Runnable),线程安全问题,线程的同步,线程之间的通讯、死锁。
    12.Socket网络编程。
  • Java Web
    1.Java解析XML文件DOM4J。
    2.MySql数据库的应用、多表连接查询的应用。
    3.Jsp和Servlet应用。
    4.Http协议解析。
    5.Tomcat服务器的应用配置。
    6.WebService服务配置应用。
  • Android UI编程(项目实战)
    1、Android开发环境搭建:Android介绍,Android开发环境搭建,第一个Android应用程序,Android应用程序目录结构。
    2、Android初级控件的使用:TextView控件的使用;Button控件的使用方法;EditText控件的使用方法;ImageView的使用方法;RadioButton的使用方法;Checkbox的使用方法;Menu的使用方法。
    3、Android高级控件的使用:Autocompletion的使用方法;ListView的使用方法;GridView的使用方法;Adapter的使用方法;Spinner的使用方法;Gallary的使用方法;ScrollView的使用方法。
    4、对话框与菜单的使用:Dialog的基本概念;AlertDialog的使用方法;DatePickerDialog的使用方法;Menu的使用方法;自定义Menu的实现方法。
    5、控件的布局方法:线性布局的使用方法;相对布局的使用方法;表格布局的使用方法。
    6、多Acitivity管理:AndroidManifest.xml文件的作用; Intent的使用方法;使用Intent传递数据的方法;启动Activity的方法;IntentFilter的使用方法;Activity Group的使用方法。
    7、自定义控件实现方法:自定义ListView的实现方法;可折叠ListView的使用方法;自定义Adapter的实现方法自定义View的实现方法;动态控件布局的上实现方法。
    实战项目:
    1、"RSS阅读器"UI的设计与实现。
    2、"在线书城"UI的设计与实现。
  • Android网络编程与数据存储(项目实战)
    1、基于Android平台的HTTP通讯:Http协议回顾;Apache Commons 工具包介绍;使用Get方法向服务器提交数据的方法;解析服务器响应数据的方法;使用POST方法向服务器提交数据的实现方法;向服务器提交非文本数据的实现方法;使用Http协议实现多线程下载;使用Http协议实现断点续传。
    2、Android数据存储技术:SQLite3数据库简介;SQL语句回顾;SQLite3编程接口介绍;SQLite3事务管理;SQLite3游标使用方法;SQLite3性能分析;访问SDCard的方法;访问SharedPreferences的方法。
    3、ContentProvider使用方法:ContentProvider实现共享数据、URI的解析与UriMatcher、ContentUris的使用、使用ContentResolver操作ContentProvider、ContentProvider的监听Android当中的异步操作:Handler的使用方法;异步任务的基本概念;AsyncTask的使用方法。
    实战项目:
    1、"RSS阅读器"网络访问与数据解析功能的设计与实现。
    2、"在线书城"网络访问与数据解析功能的设计与实现。
    3、文件管理器。
    4、电子书阅读器。
    资源整理

总结

每个程序员朋友都有自己的架构师梦,可往往梦想是美好的,现实又是残酷至极的。不努力不奋斗,可能就会在基层一辈子止步不前。也许有很多朋友还会说,程序员也是干的年轻饭,年纪大了也就爬不上了,脑子跟身体都跟不上了。那既如此,又为何不趁着自己还年轻,好好把握机会,努力一把,美好的未来才有机会和你招手!当然咯,这也仅仅代表我个人的观点,毕竟一百个人有一百个不同的脑子,就会有成千上万种不同的想法。

不过,只一句,如果你还在做这一行,还是一名程序猿(媛),想走上坡路的你,也许我这到手的 字节跳动-性能优化学习进阶笔记 可能会对你有所帮助。

点赞+评论!+私信我口令【666】!即可立马回复你免费下载此 字节跳动学习进阶笔记 的方式!

附上我的:【GitHub】文章学习资料不断更新!

相关文章

网友评论

    本文标题:刚毕业的Android小白,居然遇到这事成功进入字节跳动!果然机

    本文链接:https://www.haomeiwen.com/subject/wzniiktx.html