文章目录

  • 一、自我介绍
  • 二、简历相关
    • 2.1 React Native
    • 2.2 印象最深的项目
  • 三、Java后台
    • 3.1 线程创建
    • 3.2 Java异步实现方式
    • 3.3 JVM内存
    • 3.4 Java GC
    • 3.5 TCP和UDP
  • 四、代码题
    • 4.1 反转链表

一、自我介绍

个人背景、项目经历、实习经历。


二、简历相关

2.1 React Native

2.2 印象最深的项目


三、Java后台

3.1 线程创建

  • 继承Thread类并重写该类的run()方法。
  • 实现Runnable接口创建线程重写run()方法。
  • 创建Callable接口的实现类并实现call()方法,然后创建该实现类的实例(从java8开始可以直接使用Lambda表达式创建Callable对象)。

3.2 Java异步实现方式

  • JDK1.8之前的Future
    JDK并发包里的Future代表了未来的某个结果,向线程池中提交任务的时候会返回该对象,可以通过future获得执行的结果,但是JDK1.8之前的Future有点鸡肋,并不能实现真正的异步,需要阻塞的获取结果,或者不断的轮询。
  • JDK1.8之后的Future
    JDK1.8中提供了lambda表达式,使得Java向函数式语言又靠近了一步。借助JDK原生的CompletableFuture可以实现异步的操作,同时结合lambda表达式大大简化了代码量。
  • Spring的异步方法
    先把longTimeMethod封装到Spring的异步方法中,这个异步方法的返回值是Future的实例。这个方法一定要写在Spring管理的类中,注意注解@Async

3.3 JVM内存

JVM内存区域主要分为:

  • 线程私有区域:程序计数器、虚拟机栈、本地方法区。
  • 线程共享区域:JAVA堆、方法区。
  • 直接内存

3.4 Java GC

  • 如何确定垃圾
    (1)引用计数法:通过引用计数来判断一个对象是否可以回收。即一个对象如果没有任何与之关联的引用, 即他们的引用计数都不为0,则说明对象不太可能再被用到,那么这个对象就是可回收对象。
    (2)可达性分析:为了解决引用计数法的循环引用问题,Java使用了可达性分析的方法。通过一系列的GC roots对象作为起点搜索。如果在GC roots和一个对象之间没有可达路径,则称该对象是不可达的。不可达对象经过两次标记为可回收对象,则将面临回收。
  • 垃圾收集算法
    (1)标记清除算法:分为两个阶段,标记阶段标记需要回收的对象,清除阶段回收对象占用的空间。
    (2)复制算法:按内存容量将内存划分为等大小的两块。每次只使用其中一块,当这一块内存满后将尚存活的对象复制到另一块上去,把已使用的内存清掉。
    (3)标记整理算法:标记阶段和标记清除算法相同,标记后不是清理对象,而是将存活对象移向内存的一端。然后清除端边界外的对象。
    (4)分代收集算法:新生代采用复制算法,老年代采用标记复制算法

3.5 TCP和UDP

  • TCP提供面向连接的、可靠的数据流传输;
    UDP提供的是非面向连接的、不可靠的数据流传输。
  • TCP传输单位称为TCP报文段
    UDP传输单位称为用户数据报
  • TCP注重数据安全性
    UDP数据传输快,因为不需要连接等待,少了许多操作,但是其安全性一般

四、代码题

4.1 反转链表

public static class Node {public int data;public Node next;public Node(int data) {this.data = data;}
}public static Node reverseList(Node node) {Node pre = null, next = null;while (node != null) {next = node.next;node.next = pre;pre = node;node = next;}return pre;
}

面试笔记:面经-瓜子相关推荐

  1. 应有尽有!这可能是最全的 AI 面试笔记了

    点击上方"视学算法",选择"星标"公众号 重磅干货,第一时间送达 今天给大家推荐一个非常全面的 AI 面试笔记集锦,包含 2018.2019 年的校招.春招.秋 ...

  2. springaop事务逻辑原理_太狠了!阿里大牛手写的Spring核心面试笔记:IOC+AOP+MVC+事务...

    Spring作为现在最流行的java 开发技术,其内部源码设计非常优秀.如果你不会Spring,那么很可能面试官会让你回家等通知. Spring是什么? 有一个工地,几百号人在用铁锹铲子挖坑. 如果开 ...

  3. 炼丹面试官的面试笔记

    作者:无名,某小公司算法专家 排版:一元,四品炼丹师 公众号:炼丹笔记 关于Attention和Transformer的灵魂拷问 背景 现在几乎很多搞深度学习的朋友都把attention和Transf ...

  4. Java高级开发工程师面试笔记

    最近在复习面试相关的知识点,然后做笔记,后期(大概在2018.02.01)会分享给大家,尽自己最大的努力做到最好,还希望到时候大家能给予建议和补充 ----------------2018.03.05 ...

  5. labuladong的算法小抄pdf_真漂亮!这份GitHub上爆火的算法面试笔记,助你圆满大厂梦...

    前言 Github作为程序员们的后花园,一直以来都是程序员最喜欢逛逛.学习的地方,小编也不例外,最近看到一份对标BAT等一线大厂的算法面试笔记,已经标星68+K了,很是惊讶,看了一下,觉得知识点整理得 ...

  6. jsjq面试笔记(下)

    js&jq面试笔记,该部分为下部分. 字符串相关 1.定义一个方法,用于将string中的每个字符之间加一个空格,并输出 如:'hello' -> 'h e l l o'function ...

  7. 怎么判断自己启动的线程是否执行完成 java_Java面试笔记(上)

    面试整体流程(HR 或技术面) 1.请简单的自我介绍 我叫***,工作*年了,先后做过**项目.**项目. 2.请你简单的介绍一下**项目 该系统主要有哪些部分组成,简单介绍项目的整体架构,具体参与某 ...

  8. 网易被裁后,68天吃透这份阿里学长甩我的Android面试笔记,竟让我收到字节跳动和小米offer

    自我情况介绍一下: 楼主双非本科,17年毕业,学历背景一般,之前一直在网易工作,生活状态还算是稳定,国庆节后突然被裁彻底打破了我的生活节奏,将近一个月都处在懵逼状态(哪个环节出问题了,导致被裁),在咨 ...

  9. GitHub上AI岗位面试笔记(机器学习算法/深度学习/ NLP/计算机视觉)

    目录 机器学习 深度学习 自然语言处理与数学 算法题和笔试题 推荐阅读 工具 最近在GitHub上淘到一个很棒的AI算法面试笔记,特地分享给小伙伴们~ GitHub地址:https://github. ...

  10. 剖析Framework面试-笔记(二)

    剖析Framework面试-笔记 其他应用组件相关 Service的启动原理 Service的绑定原理 使用 原理 动态广播的注册与收发原理 动态广播的注册原理 广播的发送原理 广播的接受原理 静态广 ...

最新文章

  1. 2016-8-9更新日志
  2. 洛谷8月赛Div.2
  3. ffmpeg推流_明白了以下5点思路,你也能用Python实现直播推流效果(技术活)
  4. CentOS7 64位下MySQL5.7安装与配置
  5. Spring JDK内置类型
  6. WPF 实现 DataGrid/ListView 分页控件
  7. 合肥.NET俱乐部第二期技术沙龙活动预告
  8. HDMI视频光端机常见故障问题及解决方法
  9. fanuc机器人编程手册_FANUC机器人示教编程:距离先执行指令功能介绍与使用方法
  10. @spoj - lcs2@ Longest Common Substring II
  11. Blue Prism如何成为RPA领域魔力象限领袖
  12. C:socket相关的sendto()函数简介
  13. python在财务中的应用实训报告-数据科学与大数据技术专业实训解决方案
  14. 单因素方差分析及其相关检验
  15. 计算机相关的议论主题,关于议论文的题目大全
  16. SQL注入的防范措施
  17. python之迷宫小游戏
  18. ch341a刷写华擎(ASROCK)主板BIOS教程
  19. 如何树立正确的工作态度
  20. 51CTO学院学习心得

热门文章

  1. 写了一个iPhone越狱快捷下拉开关插件
  2. Android 8.1 中Systemui中的常见修改(六)NavigationBar加载流程
  3. 名词性从句(1)——同位语从句(1)
  4. 平衡面板数据中的缺失值可以存在吗?
  5. 【错题集】python基础之字符串的格式化循环语句与注释
  6. 《大魔术师》:给内地闹剧变个“魔术”
  7. 配水果蜜桔/蜜橘的朋友圈文案,蜜桔/蜜橘水果宣传文案模版
  8. 区块链到底是不是骗局
  9. 网络研讨室_Excel问题,修复和网络研讨会
  10. c语言中do是什么用法,C语言基础知识:do while用法理解