博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
apk开发语言!分享Android资深架构师的成长之路,终获offer
阅读量:4151 次
发布时间:2019-05-25

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

一、结缘

实话说,最开始刷题的时候,刷的是 LeetCode,后来才注意到了剑指 offer 的存在,最开始也是听别人说的,剑指 offer 在面试过程中出现的概率很大,就去尝试将其都做了一遍,做的过程中发现,其实有一部分题目与 LeetCode 有重合,但是更像是 LeetCode 经典题目的集合,更具有代表性。

最开始刷过一遍剑指 offer 后,其实印象并不深,直到我参加了 2020 年的秋招面试,才深刻的意识到剑指 offer 的题目出现高频性,至此之后,但凡有人问我怎么刷题,我都会先推荐刷剑指 offer,然后刷 LeetCode 的前 200 题,如今力扣中也有了官方授权的剑指 offer 题目,这实在是令人感到兴奋,结合平台出色的刷题体验,我相信更多的人会了解剑指 offer,下面我结合面试谈谈为什么我如此推崇。

1、一定要把基本的数据结构,经典的算法,Unix编程,程序编译链接及计算机原理等基础知识扎牢,这些会长远影响你的职业发展。

2、 推荐从C语言入门,不单是因为很多操作系统、网络协议栈开源代码由C/C++实现,更多是因为C语言自身的特性:作为高级语言用户无需关注底层细节,同时能直观的看到数据流向。而且C相对语法规则较为简单,可以短时间的上手应用。最重要的是,遵循C/C++、python的学习方式,比直接学习python更能清晰的知道自己程序的内存等性能状况。

3、 不要过于追求第一份工作的工资,甚至可以说不要过于看重前两年的工资(虽然我工作也没满五年,这里的意思是,前两年不要因为多出来的一两千月薪转换自己的行业),也不需要过于学习如何投资股票理财(但是要有基本的风险意识),身边很多三十多岁才开始理财的人同样实现了财富自由。而是要扎扎实实做几个完整的项目,学习好基础原理,同时琢磨业务流程。当然大厂会有很多流程性的杂事,如何尽快处理不要过于消耗自己的宝贵时间,这个就是另一门学问了。

4、 胆子要大,要多发出自己的声音。很多职场新人在项目讨论的时候会担心自己技术深度不足,提出的观点比较浅薄,这个是不对的。说得不好听,我们都是来打工的,赚钱才是王道,面子是最不重要的。只有多表达自己对业务的思考才能展现自己的价值,很多时候跟人探讨自己的想法能及快速的更新自己的知识储备。

5、 答主机械工程出身,再说说机械(包括电气)工程如何转行进入互联网公司。看情况,如果是本科,极力建议跨考电气工程,因为很多基础课程像数电模电、电工学、高等数学等重要课程两个学科都有学习,考研难度相对较小。如果是机械的硕士,那么建议先把算法与数据结构全部学习一遍,不一定非要找创业互联网公司的实习,进去一两个月学不到完整的项目开发流程。尽量加入一个学校内部的团队完成一个项目,像华为每年都会在各大高校设置编程大赛等,这些可以让你全方位的了解进入软件行业必备哪些技能。对于已经工作的老铁,像我就是毕业入职后转行的,这里给一下我的学习过程仅供参考。尽快入门C语言,利用下班时间刷题把上面链接提供的算法与数据结构等书完整的自己敲一遍代码。然后选择热门的嵌入式操作系统如freertos熟读源码理清嵌入式系统内部任务调度、内存管理、任务通信机制等基本原理,动手移植一款热门芯片如stm32f429,把tick跑起来,任务调度起来就OK了。为什么选热门芯片,因为各种坑前任都踩过,论坛咨询问题相当容易。然后就可以上手UNIX环境高级编程这本圣经了。一般而言,学完嵌入式系统,再学linux系统的进程通信、虚拟化等,你会发现比直接学习Linux要容易上手很多。对unix系统调用有了基本了解之后进行Linux应用开发基本难度不大了,如果有公司业务结合练手那是最好的。接下来就看自己的发展方向了,如果想在物联网深入发展,可以移植一下A核,对中断处理会有更深刻的理解。如果想从事网络或者后台开发,可以多熟悉网络协议栈,这里推荐lwip入门,里面给出了TCP、UDP协议规范的完整代码实现,对理解tcp慢启动、拥塞控制、socket编程帮助相当大。

6、 不要急于挑选产品经理等管理类岗位,只有多跟几个大型项目,多玩几个迭代,才能对大厂的项目落地流程玩法了然如胸,才能跟各种老油条码农供应商扯皮。对需求理解不清,分分钟被老员工玩死。

7、 也是一句题外话,前面几年虽然工资不多,但是一定要养成存钱的良好习惯。当你身无分文来到深圳,住着900的农民房,吃着广东烧腊,再看看关外五六万的房价,你就知道深圳的生存有多么艰难。唯有努力才是解决社会问题的基础,如人饮水冷暖自知,很多事情只有自己经历了各中酸楚才知道。

Android高级架构师

由于篇幅问题,我呢也将自己当前所在技术领域的各项知识点、工具、框架等汇总成一份技术路线图,还有一些架构进阶视频、全套学习PDF文件、面试文档、源码笔记做整理一份资料。

需要的朋友我可以分享给你,希望里面的资料可以给你们一个更好的学习参考。

直接点击下面链接免费获取

  • 330页PDF Android学习核心笔记(内含上面8大板块)

  • Android学习的系统对应视频

  • Android进阶的系统对应学习资料

  • Android BAT部分大厂面试题(有解析)

好了,以上便是今天的分享,希望为各位朋友后续的学习提供方便。觉得内容不错,也欢迎多多分享给身边的朋友哈。

好了,以上便是今天的分享,希望为各位朋友后续的学习提供方便。觉得内容不错,也欢迎多多分享给身边的朋友哈。

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

你可能感兴趣的文章
Ubuntu Navicat for MySQL安装以及破解方案
查看>>
HTTPS那些事 用java实现HTTPS工作原理
查看>>
oracle函数trunc的使用
查看>>
MySQL 存储过程或者函数中传参数实现where id in(1,2,3,...)IN条件拼接
查看>>
java反编译
查看>>
Class.forName( )你搞懂了吗?——转
查看>>
jarFile
查看>>
EJB3.0定时发送jms(发布/定阅)方式
查看>>
EJB与JAVA BEAN_J2EE的异步消息机制
查看>>
数学等于号是=那三个横杠是什么符
查看>>
HTTP协议详解
查看>>
java多线程中的join方法详解
查看>>
ECLIPSE远程调试出现如下问题 ECLIPSE中调试代码提示找不到源
查看>>
java abstract修饰符
查看>>
数组分为两部分,使得其和相差最小
查看>>
java抽象类和接口
查看>>
有趣的排序——百度2017春招
查看>>
二叉树的最近公共祖先LCA
查看>>
数组中累加和为定值K的最长子数组长度
查看>>
素数对--腾讯2017校招编程
查看>>