博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
android自动化测试工具!为什么有人说Android开发不再吃香?建议收藏
阅读量:2058 次
发布时间:2019-04-29

本文共 1962 字,大约阅读时间需要 6 分钟。

前言

19年6月份从网易云音乐离开,放弃了留学机会,开始了人生的第一次创业,前后尝试了两个项目,因为个人能力与时机因素都失败了,虽然没能享受到创业所能够带来高杠杆物质上的回报,但是对个人软技能和自我边界认知上都有了很大的提升,对于这段经历有以下四点想送给准备创业和走在创业路上的朋友们。

  1. 创业本质是一个不断降低商业模式风险的过程。(创业前最好去北京798的智能硬件展厅看一看)
  2. 当你对于自己的未来感到模糊,对当下感到厌倦的时候,跳出舒适圈,快速尝试是最好的解决方案。
  3. 打开自己,多结识各路“牛鬼蛇神”,你当下的困惑大多都有人比你提前经历过,且都可以给予你具体可操的解决方案。
  4. 忌纸上谈兵,实际去做的质感是书本上永远学习不到的,去干而不是去看。

经过这一次创业和之前的工作经历,对于下一份的工作在选择上所以也有了更多的想法,对于工作的成长性和平台背景是当下比较看重的,当然钱也是考核的一个重要指标(一切以成长和主人翁精神来鼓励加班不给钱的公司都是PUA)。结合自身的职业发展诉求,快手和字节跳动是本次找工作的目标公司。这两家公司的offer也是首先拿到的,因为offer的流程有些时间,因此也面试了一些其它的公司,感受到了各家公司的工作流程,面试过程中面试官也给予了很多技术成长上的建议,对于一些技术和设计问题也展开了一些探讨。一些面试官分享了他们在做的业务,商业模式等,总之在职业素养,技术视野,商业模式上都在潜移默化中得到一些提升。

面试经历

1.偶然看到知乎的内推帖,投了个简历,下午hr姐姐call我,安排面试选在3天后,然而又要笔试阿里,所以没怎么复习。

  1. 8点起床,9点过比较紧张的去了创业园,感觉知乎氛围很好,在那等了一小会,有前台大叔给你倒水。

一面:

应该是个参加工作不久的研究僧师兄,出了一道算法题,主要考字符转int,然后分析了时间复杂度和空间复杂度,之后聊了android listView的性能优化,还问我recycalView的特点,进程通信的方式,我主要说了aidl和共享文件,广播,本来还想用java装B,还在精通java,然而师兄并没有问,说叫等一下

二面:

二面明显难度提升,而且面试管应该是组长吧,比较喜欢听吹架构,正好之前自己从web后台,客户端,硬件等方面做了一个智能家居项目,就吹了下硬件那边的逻辑,包括蓝牙,wifi的HTTP/IP协议,透传等,红外等传感器,然后web后台我说我用sevlet,因为本身客户端主要需要接口,数据库用mysql,也没问rollback(嘿嘿),然后把客户端展示给他看看,实在太丑没有美工(这不是重点),由于我的项目中有一个很重要的point就是在硬件触发时唤醒服务器后台推送,首先硬件识别后,串口读写数据到单片机,单片机写入wifi缓冲区,wifi通过HTTP透传数据到我服务器(可以用TCP和IP),服务器获取mac标识,推送至TAG(家庭ID)或者用户(Alias)

说到推送,好好吹吹实现原理。
1:pull方式,http长连接或是socket,轮询间隔设好即可,缺点及时性差
2:push方式,实时性好,方法1,google自带推送平台(网太差),方法二,xmpp协议(基于XML)。其实封装的比较好了,有个开源包叫asmark,其中有XmppConnection这个推送库,话说好多公司都是用它自己封装库,不过开源的demo只管推,没有延时推送,消息暂存功能,方式3,用三方的
算法:是2个有序数组合并问题,用2个指针每次比较能够O(n)解决问题,算法pass
LruCache:先装装B,说一下我写的和google V4包有什么不同,主要是没有trimToSize方法,没有sizeof()计算内存耗费大小,我主要是重写LinkedHashMap,讲了下LinkHashMap源码,其实我也是看别人写的源码解析,(嘿嘿,毕竟年轻,多向别人学习)

最后为了帮助大家深刻理解Android相关知识点的原理以及面试相关知识,这里放上相关的我搜集整理的24套腾讯、字节跳动、阿里、百度2020-2021面试真题解析,我把技术点整理成了视频和PDF(实际上比预期多花了不少精力),包知识脉络 + 诸多细节

还有 高级架构技术进阶脑图、Android开发面试专题资料 帮助大家学习提升进阶,也节省大家在网上搜索资料的时间来学习,也可以分享给身边好友一起学习。

一线互联网面试专题

379页的Android进阶知识大全

379页的Android进阶知识大全

点击:

《》即可免费获取~

BF%E9%AB%98%E8%96%AA%EF%BC%81.md)》即可免费获取~

网上学习 Android的资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。希望这份系统化的技术体系对大家有一个方向参考。

转载地址:http://applf.baihongyu.com/

你可能感兴趣的文章
梦飞 —— 述:我只是一个普通农民家的孩子,但我有一个梦想
查看>>
图解HTTP(二)—— 简单的HTTP协议
查看>>
程序员的数学(四)—— 数学归纳法,如何征服无穷数列
查看>>
不是技术人员也能看懂云计算、大数据、人工智能
查看>>
图解HTTP(三)—— HTTP报文内的HTTP信息
查看>>
图解HTTP(四)—— 返回结果的HTTP状态码
查看>>
JavaWeb高级编程(五)—— 使用会话来维持HTTP状态
查看>>
Intellij IDEA使用(十五)—— 如何在IDEA中一个Tomcat启动多个项目和多个Tomcat启动多个项目
查看>>
图解HTTP(五)—— 与HTTP协作的Web服务器
查看>>
程序员的数学(五)—— 排列组合,解决计数问题的方法
查看>>
前后端分离实践(四)—— 使用vue-cli搭建前端展示层并用mock模拟测试数据
查看>>
前后端分离实践(六)—— 前端与后端在生产环境中的分离部署
查看>>
启航 —— 记 —— 第二次自考的反思:自考与自我改造的困境
查看>>
数据结构与算法(三)——线性表
查看>>
Java8学习笔记(一)—— 函数式编程的四个基本接口
查看>>
Java8学习笔记(二)—— Lambda表达式
查看>>
Java8学习笔记(三)—— Optional类的使用
查看>>
Java8学习笔记(四) —— Stream流式编程
查看>>
Java8学习笔记(五)—— 方法引用(::双冒号操作符)
查看>>
数据结构与算法(四)—— 栈与队列
查看>>