zoukankan      html  css  js  c++  java
  • android 面试总结,后续注意学习

    1、数据结构和算法
    一般情况下,工作中是用不到的,但是就是问,每个公司都问,而且有的公司还问的特别深,还让你手写代码。我觉得这个确实有点恶心,我个人也是很讨厌算法的,但是真是没办法,人家就问,你说怎么办?只能学呗。列个表,大家可以按照下面的去学习。不要一下看完,你看完也没用,你没有深入理解。每三天学一种,半年后,我觉得你应该会进步很多。然后可以看看“编程之美”等算法书,应该会有较大的提高。
    常见的数据结构
    线性:数组、链表、队列、堆栈、块状数组(数组+链表)
    、hash表、双端队列、位图(bitmap)
    树:堆(大顶堆、小顶堆),trie树(字母树or字典树),后缀树,后缀数组,二叉排序/查找树,B+/B-/B*,AVL树,Treap,红黑树,splay树,线段树,树状数组
    图:图
    其它:并查集

    常见算法
    1)基本思想:枚举,递归,分治,模拟,贪心,动态规划,剪枝,回溯
    2)图算法:深度优先遍历与广度优先遍历,最短路径,最小生成树,拓扑排序
    3)字符串算法:字符串查找,hash算法,KMP算法
    4)排序算法:冒泡、快排、桶排序
    5)动态规划:背包问题,最长公共子序列,最优二分检索树
    6)数论问题:素数问题,整数问题,进制转换,同余模运算
    7)排列组合:排序和组合算法
    8)其它:LCA与RMQ问题



    2.网络层
    HTTP协议、TCP/IP协议,这个在Android的面试中问的比较少,但是了解一下,或者你学的比较深入,优势就比较明显了。会是你的加分点。所以,系统并且深入的学习一下就非常有必要了。
    3.Android的基础
    这个肯定是必须的了,比如listview优化、UI特效的实现、数据库层的搭建、JNI的使用等等。
    4.注意一些面试细节
    1)为什么离职?
    2)对薪水的期望值
    3)手机记得静音或者关机
    4)表达能力的提高
  • 相关阅读:
    centos8网络连接(1)虚拟机网卡和网络编辑器设置
    centos7离线安装ruby
    centos7安装ruby-2.6.5,简单快捷的下载与安装方式
    redis 4.0.13 -- 集群模式
    活了
    世界无我
    markdown_test
    关于mimikatz在webshell运行
    可用性自动化V3
    关于sqlmap常用
  • 原文地址:https://www.cnblogs.com/yingfeng_love/p/3621286.html
Copyright © 2011-2022 走看看