前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >知识总结:安卓工程师养成计划计算机基础细分方向知识算法

知识总结:安卓工程师养成计划计算机基础细分方向知识算法

作者头像
牛客网
发布2018-04-28 11:57:40
9890
发布2018-04-28 11:57:40
举报
文章被收录于专栏:牛客网牛客网

楼主Android菜鸡一枚,今年校招侥幸拿到了还不错的offer。因为校招实在过于侥幸,面试上很少遇到复杂的问题,这里就不写面经了,初略谈一谈校招的一些准备吧。可能有些认知偏差,请各位大佬轻喷。

一般国内企业招聘技术岗都会细分方向(客户端、前端、服务端等等),所以我个人会将笔试面试准备的内容大致分为三部分:计算机基础、细分方向知识和算法。

计算机基础

计算机基础无外乎是数据结构、计算机网络、操作系统、数据库、计算机组成原理(微机)和编译原理这些内容。鉴于楼主走的是Android方向,计算机基础是按照上面的顺序分主次复习的。因为楼主科班出身,复习的时候主要看的是课本和课件,这里简单列一下书单:

数据结构

《数据结构与算法分析 Java语言描述》第二版

数据结构这一块知识可以和jdk的collection包源码结合起来看。

计算机网络

《计算机网络 自顶向下方法》第六版

课本,个人感觉通读的话能覆盖到大多数知识点,但是一些稍微深入的问题(比如为什么三次握手四次挥手,2MSL相关的问题这些)就需要另外找答案了。还有一些公认的著作包括《TCP/IP详解》、《HTTP权威指南》、《图解TCP/IP》等等。

操作系统

《操作系统概念》第七版

从Android开发岗角度来说,操作系统可以和一些Linux(Android)的相关知识结合起来理解,比如虚拟文件系统、Binder这一些内容。

数据库

《数据库管理系统原理与设计》第三版

个人感觉,从数据库这一块开始,和移动客户端开发的紧密性就不是很强了(主要是楼主开发经验太少)。复习的时候主要就是看了看课本和课件了。有一次还搜到了一本叫《SQLite权威指南》的书,不过书没有翻过,不好评价。

计算机组成原理

《计算机组成与设计 硬件/软件接口》第五版

编译原理

《编译原理》(龙书) 第二版

计组和编译原理楼主复习得很少,只能说侥幸没有遇到多少问题==

细分方向知识

楼主Android方向,所以细分方向的知识主要就是Java基础和Android基础了。

Java基础

同样列一些学习资料吧。《Java编程思想》《Effective Java》《深入理解JVM》这些经典书目必不可少。《Java并发编程实战》也是一本经典,不过楼主水平太低啃不下来==并发这一块,感觉《Java并发编程的艺术》也很不错。对于入门Java8,推荐看《Java8实战》(虽然Java9都出来了)。

此外,感觉Java的准备比较重要的一环是看jdk源码,比较经典的像collection包、concurrent包等等。对于看源码,楼主的建议是结合博客去看源码。一方面,源码动不动就是几千行一个文件很难直接上手看(大概是楼主太菜==);另一方面,只看博客解析不看源码也不太好(博客可能有误,而且jdk的注释真的挺值得去看的)。

楼主虽然是科班出身,但是Java是自学的,有一个学习方式是我比较喜欢的:在复习的时候多思考(楼主比较有印象的自己的一些问题包括:enum的单例是不是懒加载,>>>运算符的实际用途,try with resources这个语法糖的实际作用和之前的try catch有什么区别,使用BufferInput/OutputStream/Reader/Writer和使用NIO的对比,为什么源码在方法中普遍喜欢使用局部变量去指向对象属性),当有这样一些疑问的时候,简单组织几个英文关键词利用google去搜索,往往都能找到很多讨论。

Android基础

《Android开发艺术探索》简直是面试神器,里面提到的很多知识点都是面试非常喜欢问的。另外我觉得艺术探索一书还有一个好处是指出了一些重要的知识点,适合照着书中的章节安排去深入复习相关知识。还有一些个人觉得不错的书包括《深入理解Android内核设计思想》、《Android源码设计模式解析与实战》等等。腾讯专项测试团队出的《移动App性能评测与优化》,我觉得更是一本开拓视野、了解大厂实际开发情况的好书。

官网的Guide我觉得也是非常值得学习的内容,还有google出的性能优化的教程也值得一看。

阅读第三方框架的源码也是一个免不了的准备环节。阅读像Java这样纯OO语言开发的大型项目,设计模式的知识储备是必不可少的。对于像楼主这样代码写的太少的兄弟来说,《Head First设计模式》可以算是设计模式入门的神器了,这本书里面对多种设计模式的对比分析值得好好去理解。这也是楼主目前唯一读完的写设计模式的书==此外,之前有个面试官建议楼主看源码之前先读一下《重构》这本书,楼主趁着国庆粗略过了一遍《重构》,感觉确实收获良多。

算法

《剑指offer》可以算得上是应对笔试面试的神器了,但是今年感觉刷《剑指offer》远不足以应付笔试面试,平时多刷刷LeetCode才是王道。

此外,不得不提牛客推出的左神讲解算法题的直播活动,对楼主秋招确实帮助良多。左神的题目讲解通俗易懂,而且节奏不会太快,推荐大家有机会可以去看看。

手写代码这个环节似乎总是逃不掉,楼主之前为了应对,暑假都是直接用的记事本在做OJ题目(文本编辑器一般都带自动补全功能,或者语法高亮),也是为了熟悉API,但实际的训练效果也不算太好==面试的时候容易出现划掉重写的情况,显得排版很乱==早知道还是直接练手写好了==

暂时先写这么多吧。感谢牛客网还有各位牛友们校招以来的帮助,希望这个帖子对你们有用~

本文来源于牛客网

作者:ss.edu

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017.12.19 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 计算机基础
    • 数据结构
      • 计算机网络
        • 操作系统
          • 数据库
            • 计算机组成原理
              • 编译原理
              • 细分方向知识
                • Java基础
                  • Android基础
                  • 算法
                  相关产品与服务
                  数据库智能管家 DBbrain
                  数据库智能管家(TencentDB for DBbrain,DBbrain)是腾讯云推出的一款为用户提供数据库性能、安全、管理等功能的数据库自治云服务。DBbrain 利用机器学习、大数据手段、专家经验引擎快速复制资深数据库管理员的成熟经验,将大量传统人工的数据库运维工作智能化,服务于云上和云下企业,有效保障数据库服务的安全、稳定及高效运行。
                  领券
                  问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档