博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
实习面试笔记
阅读量:6244 次
发布时间:2019-06-22

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

项目经历

  • 个人网站

    后端使用了 Flask 框架,数据库使用的是 Python 自带的 sqlite

    前端使用 Vue.js + BootStrape4

    首页类似 RSS, 集合了 readhub 和 36kr 的新闻资讯

    另外,用户登录后可以在博客页发表和修改文章

Java

  • 基本数据类型

    // 整数byte 1short 2int 4long 4// 浮点数float 4double 8// 逻辑boolean 1// 字符char 2, Unicode
  • 栈和堆

    基本数据类型的变量, 在栈里面, 复制变量的时候, 复制的是值

    引用类型的变量, 在堆, 变量只是引用, 类似于指针,只能指向特定对象,不能乱指, 复制变量的时候,复制的是引用

    引用类型: 类, 接口, 数组

  • Override, 覆盖/重写, 返回值和形参都不能改变
  • Overload, 重载
  • 抽象类跟接口的区别

    抽象类, 是声明, 抽象类不能instantiate(实例化), 也就是不能制造对象。抽象方法只声明, 不实现。具体的实现由继承它的子类来实现。

    public abstract class Shape{    // 抽象的方法, 注意没有大括号, ()后面直接分号结尾    // 有abstract方法的类必须是abstract    public abstract void draw();}

    接口, 让其他类能够有接口的方法

    public interface Cell{    // 不需要显示写abstract    void draw(Graphics g, int x, int y, int size);}public class Fox extends Animal implements Cell{    @Override    public void draw(...){        // ...    }    public void run()    {    }}

    抽象类可以有非抽象的方法(具体实现), 接口是纯抽象类, 只有抽象方法

    一个子类只能存在一个父类,但是可以存在多个接口。

  • MVC 开发模型

    数据模型、表现、控制, 三者分离M, Model, 模型, 保存和维护数据, 还可以 通知 View 进行界面的更新.V, View, 表现, 从 Model 获得数据, 并以此画出表现(界面).View 是被动的, 只有在 Model 通知 View 之后, View才会去Model取数据, 并画出来.C, Control, 控制, 得到用户输入, 以此调整数据. C 和 V 并不直接交互.C只能更新Model中的数据, 也就是说, 用户在界面上所作的操作, 不会直接修改界面上的显示.而是先去修改后台的数据, 再由Model通知View, 再整体重画.
  • 多线程

    创建线程的方式, 继承 Thread 类, 实现 Runnable 接口

    start(), run(), stop(), destroy()

    新建 --- 就绪 --- 运行 --- 阻塞 --- 运行 --- 终止

  • 错误和异常

    try{}catch(ArrayIndexOutOfBoundsException e){}ArrayIndexOutOfBoundsExceptionOpenFileExceptionAllocateMemoryExceptionLoadFileExceptionOutOfMemoryError
  • 垃圾回收机制

    )

    某个对象在未来的程序运行中, 将不会被访问, 就可以回收它的内存

    分类

    引用计数收集器, 当有其他数据与其相关时则加一, 反之相关解除时减一, 最后计数为 0 的对象可以回收跟踪收集器, 定期对若干根储存对象开始遍历, 对与其相关的对象进行标记, 最后, 没有被标记的对象就可以回收

C++

前端

  • 选择器

    // 按ID查找document.getElementById('xxx');// 按tagname查找document.getElementsByTagName('xxx');// classnamedocument.getElementsByClassName('xxx');
  • 正则表达式

    `\d` 数字`\w` 字母或数字`.`  至少 1 个任意字符`*`  至少 0 个任意字符`\d{3}` 匹配 3 个字符`[0-9a-zA-Z\_]` 匹配一个数字, 字母或者下划线var re1 = /^\d{11}$/;re1.test('12345678');    // false
  • AJAX, Asynchronous JavaScript and XML, 意思就是用JavaScript执行异步网络请求

    AJAX请求是异步执行的, 也就是说, 要通过回调函数获得响应

    function success(text) {    var textarea = document.getElementById('test-response-text');    textarea.value = text;}function fail(code) {    var textarea = document.getElementById('test-response-text');    textarea.value = 'Error code: ' + code;}var request = new XMLHttpRequest(); // 新建XMLHttpRequest对象request.onreadystatechange = function () { // 状态发生变化时,函数被回调    if (request.readyState === 4) { // 成功完成        // 判断响应结果:        if (request.status === 200) {            // 成功,通过responseText拿到响应的文本:            return success(request.responseText);        } else {            // 失败,根据响应码判断失败原因:            return fail(request.status);        }    } else {        // HTTP请求还在继续...    }}// 发送请求:request.open('GET', '/api/categories');request.send();

数据结构

  • 排序

    • 复杂度
    • 稳定性
    • 实现代码
  • Fib

数据库

  • 数据库事务(Transaction)的 ACID 特性

    原子性(Atomicity), 一致性(Consistency), 隔离型(Isolation), 持久性(Durability)

    • 原子性(A)是指事务中的操作不可拆分,只允许全部执行或者全部不执行
    • 一致性(C)指事务的执行不能破坏数据库的一致性,一致性也称为完整性。一个事务在执行后,数据库必须从一个一致性状态转变为另一个一致性状态
    • 隔离性(I)指并发的事务相互隔离,不能互相干扰
    • 持久性(D)指事务一旦提交,对数据的状态变更应该被永久保存
  • 数据库事务隔离级别有4个

    # 由低到高依次为Read uncommitted, 读到了未提交的事物, 只是 add 还没有 commitRead committed, 读到了上一次的commit, 也就是说还没有更新 最新的commitRepeatable read, 保证读取最新的 commit, 为此, 读取的时候不允许提交Serializable, 要求有很高的实时同步性# 这四个级别可以逐个解决脏读 、不可重复读 、幻读 这几类问题
  • 锁(并发控制的手段)
  • 关系数据模型的三个组成部分

    数据结构, 对数据的操作, 完整性约束

  • 参考链接

SQL

  • CRUD

    Create, Read, Update, and Delete

  • 过程

    1.首先连接到数据库  conn = sqlite.connect('test.db')2.建立游标 cursor  cursor = conn.cursor()3.建立表  create table user (id int, name varchar(20), score int )4.insert into 插入数据,注意占位符是 ?  insert into user (id, name) values(1, "Alice", 88)  insert into user (id, name) values(2, "Bob", 89)  insert into user (id, name) values(3, "Cindy", 88)5.select * from user where 查找数据  select * from user where id between 1 and 3 order by score asc6.cursor.close()7.conn.commit()8.conn.close()
  • column, 列, 字段

    select * from userselect col1, col2 from user
  • 下面以这个表格 customers 为例, 展示 SQL 的语法

    id name age city postalcode country
    1 Alfreds 25 Berlin 12209 Germany
    2 Ana 15 Mexico 05021 Mexico
    3 Antonio 20 Mexico 05023 Mexico
    4 Thomas 30 London WA11DP UK
    5 Berglunds 35 Lulea S-958-22 Sweden
  • where 条件选择

    select * from customers where country='Germany' and city='Berlin'
  • order by 排序

    select * from customers order by country
  • 插入

    insert into customers (name, age, city, postalcode, country) values ('Bart', 10, 'LA', '4006', 'USA')
  • 更新

    update customers set name = 'Smith', city = 'Paris' where id = 5
  • 删除

    delete from customers where name = 'Berglunds'
  • limit/top 不返回全部结果, 只返回有限数量的记录

    # SQLselect top 3 from customers# MySQLselect * from customers limit 3
  • 最大最小值

    select min(age) from customers
  • 统计 count, distinct

    # 统计有多少个不同的国家select count(distinct country) from customers
  • 平均值

    select avg(age) from customers
  • 求和

    select sum(age) from customers
  • 通配符

    # SQLselect * from customers where name like 'B%'# sqliteselect * from customers where name like 'B*'
  • 选择范围

    # 离散select * from customers where country in ('Germany', 'France')# 连续select * from customers where age between 10 and 20
  • 连接表格

    inner join, (A ∩ B)left join, (A ∩ B) U Aright join, (A ∩ B) U Bfull outer join, (A U B)

其他

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

你可能感兴趣的文章
create-react-app2.x 自定义配置(less 按需加载 装饰器)
查看>>
第一个掘金文章
查看>>
最酷的深度学习聊天机器人资源集合
查看>>
SVG 在 image 标签中的动态修改技巧
查看>>
js的三种编码解码方法
查看>>
7月31日云创大会游戏论坛门票0元抢!
查看>>
a标签href不跳转 How?
查看>>
WebP进阶篇--Gif2WebP
查看>>
Java基础-- ==号与equals()方法的区别
查看>>
VARCHART XGantt实践:兼顾清晰和细节的排列优化
查看>>
小程序实现人脸识别功能
查看>>
Flora图像风格迁移App
查看>>
常用数组方法梳理
查看>>
JavaScript(4)之——前端模块化
查看>>
数字图像处理----图像旋转
查看>>
iOS 报错 Library not found lPods AFNetworking
查看>>
Spark性能优化:数据本地化优化
查看>>
Java中几个常用类介绍
查看>>
程序员为什么要高薪?看完让你勇于为自己开价
查看>>
(八)spring cloud微服务分布式云架构- Spring Cloud 组件和概念介绍
查看>>