zoukankan      html  css  js  c++  java
  • 面试准备

    编程基础:

    (关注代码的时间复杂度空间复杂度)

    进程间通信方式

    线程和进程

    线程的状态转化

    数组和链表的区别

    数据结构学过哪些,回答了数组,链表,然后问他们各自的特点以及适合在什么场景下应用,以及他们的时间复杂度

    死锁产生的条件, 以及如何避免死锁,银行家算法,产生死锁后如何解决

    java内存模型java内存区域

    java中创建类的实例有几种方法

    死锁的原因,条件,怎么解决

    多线程的理解,如何保证线程安全

    是否了解synchronized及lock,简述下使用场景及其区别(比较通用的解决线程安全的方法)

    synchronized和reetrantlock锁

    多线程深入的理解

    线程进程

    线程安全

    static关键字

    手撕一个单例模式

    会那些设计模式,单例模式,工厂模式,代理模式,装饰器模式

    Java中的框架

    jvm

    python和Java的内存管理

    python中的list和tuple

    python多(threadign/thread) lvs四种模式

    Hadoop的相关知识

    有序数组排序,二分查找,复杂度

    有N个节点的满二叉树的高度。(1+LogN)  类似的 有k层的满二叉树有多少个节点(2*K-1)

    hashMap与hashTable的区别

    hashset和hashmap的区别,haspmap的底层实现put操作,扩容机制,

    currenthashmap如何解决线程安全

    Java集合类都有哪些,详细说明并介绍特点

    说一说Java的集合类

    LinkedList与ArrayList的区别

    1000个节点,插入,查找,删除的频率差不多,用LinkedList还是ArrayList

    Spring的依赖注入是怎么实现的

    熟悉HashMap吗?是线程安全的吗?多线程访问有什么问题?仔细说一下

    知道线程安全的Map吗?怎么实现的?

    == 操作比较的是什么?与equals有什么不同?

    Integer的 == 与 equals操作

    String的 == 操作

    对链表排序(归并排序,快速排序)

    实现LRU

    垃圾回收

    网络编程中异步操作,NIO,Netty

    HashMap源码,是否线程安全,为什么

    10G的文件,2G的内存,文件中每一行都是一个酒店名,如何统计出前二十的酒店

    HashMap的容量为什么是2的n次方

    B-Tree与B+Tree的区别

    为什么要用B+Tree来作为索引底层的数据结构(B+tree被大量用于数据库的索引中)

    会那些设计模式,单例模式,工厂模式,代理模式,装饰器模式

    JVM内存分区

    string ,stringbuild,stringbuffer区别,string内部结构

    稳定的和不稳定的排序

    快速排序的思想讲一下,手写快排,给个数组,模拟快排的过程

    hash的用处 怎么解决hash冲突

    缓存池我们很多地方都要用到,如何实现缓存池(队列和map)

    java内存的空间分布

    jvm的垃圾回收机制,,让比较了CMS和G1的区别,还提了“如果是大数据量的情况下使用什么回收器比较好?“G1是针对服务器的,并且是分块整理的当然选择G1。最后问了一个问题“如果jvm一直在做FullGC怎么办?“这个我开始反应就回答了设置jvm的堆区最大值

    hashmap的底层结构。如何扩容,并发怎么解决,concurrentHashMap如何实现高效读写(分区+锁技术),最后居然问了句:为什么负载因子是0.75

    Hashmap为什么容量是2的幂次,什么是负载因子

    HashMap和HashTable有什么区别

    Key-Value存储原理

    “有什么难点?”“项目中遇到过哪些问题?”

    Java(int和Integer的区别)

    Java中抽象类与接口的区别

    Java中的集合的底层实现(类似还有HashMap HashSet)

    问了map以及hashmap的特点,map实现的数据结构应该是什么

    hashmap的实现讲一下吧,讲的很详细了。讲一下红黑树的结构,查询性能等。

    Java回收机制

    Java中的垃圾回收讲一下,讲了分代,gc算法,gc root可达性分析等

    Java内存泄漏

    重载与重写的区别

    了解 redis 源码么

    了解 redis 集群么

    说一下java里面的Integer.valueOf()这个函数?

    HashMap全面的面试题

    往 set 里面 put 一个学生对象,然后将这个学生对象的学号改了,再 put 进去,可以放 进 set 么?并讲出为什么

    n长的数组放入n+1个数,不能重复,找出缺失的那个数(不知道是不是连续的数)

    1到n中减少了一个数,顺序被打乱,找出缺失的数

    说下对this的理解,super关键字和this的区别

    反射

    泛型

    死锁是什么呢,怎么解决死锁

    为什么负载均衡,怎么实现负载均衡

    Java与C++最大的区别

    1G数据怎么排序

    怎么判断链表有环,怎么优化

    范围1到1000的数,原本有1000个,互不重复,现多出来1个重复的数,怎么找到他,统计次数,太慢,求和相减。

    N个糖果,每次只能取1个到6个,不能不取,你先取,请问是否有必胜策略,怎么取。

    代码:(单例模式)

    介绍一下你知道的排序算法以及平均时间复杂度,最坏最好情况

    常见的数据结构要掌握,基础的代码会手写(快排、冒泡、归并排序、二分查找、二叉树的遍历、二叉树增删改查)

    算法:如何判断一个树是不是另一颗树的子树

    算法:给定一个数字,一个数组,找出数组中相加等于这两个数的和,不能用数据结构

    算法:找出两个数组相等的数,不能用其他数据结构

    代码:数组去重

    代码:网易:反转字符串、反转反转

    代码:二叉树前序遍历中序遍历后序遍历(递归非递归)

    代码:从int数组中找出和最大的连续子串

    代码:判断数组是否可以首尾相连成环路

    代码:从数组中找出两个相加等于n的下标

    代码:一个数的个位十位百位相加,判断结果的个位是不是3

    代码:全排列

    代码:从A到I

    代码:找出一组数中最大的数

    代码:找出数组中不重复的数

    代码:二叉树的层序遍历

    代码:二分查找

    两条链表求第一个公共节点

    写一个两个有序链表合并成一个有序链表

    链表找环状入口

    链表面试题集锦

    然后问了我一些设计模式,我讲了单例,工厂和装饰者模式,java手写了单例

    快排的时间复杂度,冒泡时间复杂度,快排是否稳定,快排的过程

    100w个数,怎么找到前1000个最大的,堆排序,怎么构造,怎么调整,时间复杂度。

    编程题:层序遍历二叉树

    编程题:给定一个字符串列表(长度为n),给定一个滑动窗长度L,求滑动窗里边最多有多少个不同字符。(要求时间复杂度O(n),空间复杂度O(1))

    一个矩阵,从左上角到右下角,每个位置有一个权值。可以上下左右走,到达右下角的路径权值最小怎么走。(先说了一下dfs递归实现。面试官说要优化。说了一下用迪杰斯特拉的思路,说可以)

    十亿个数的集合和10w个数的集合,如何求他们的交集(面试官说对较小的数做hash,然后便利大数组即可)

    十亿个数找出前100个最大的

    常见数据结构与操作(线性表、队列、字符串、树、图)

    常见算法(排序、查找、动态规划、递归、回溯)

    数据库:

    数据库的优化

    怎么优化数据库

    SQL(多表查询、左链接和右链接的区别)

    SQL(索引、多表查询)

    写一个SQL语句

    SQL(写语句,top,count,group,by,order by,select)

    group by 与 order by 的区别

    介绍MySQL索引、聚集索引等

    MySQL的索引,B+树性质。

    mysql 数据库的引擎和区别(innoDB MyISAM)

    数据库的索引和优化

    说一下数据库事务隔离等级?

    基本SQL语句

    MySQL存储架构

    LVS四种模式实现以及原理

    MySQL存储引擎

    MySQL几个存储引擎的特点,区别

    Linux:

    Linux(查看一个文档,显示文档的最后五条数据)

    Linux(cd,cd-,mkdir,vi,netstat)

    Linux的cpu 100怎么排查,top jstack,日志,gui工具

    Linux大文件怎么查某一行的内容。

    常见的Linux命令

    Linux基础

    Linux,查找磁盘上最大的文件的命令

    Linux中的文件处理

    计算机网络:

    UDP TCP的区别

    三次握手和四次握手和UDPTCP使用场景

    详细讲讲拥塞控制

    DNS劫持的原理

    路由表中存的是什么

    TCP的拥塞控制

    http中的get和post请求的区别

    怎么确认post请求发送完毕

    网络(get和post的区别,七层协议分别是什么,应用层的协议)

    七层网络模型

    计算机网络熟悉嘛?说一说七层模型以及每一层模型的具体内容

    TCP的三次握手,四次挥手,以及每个时刻客户端服务端的状态是什么

    TCP的四次挥手,time wait状态有什么意义。

    TCP和UDP的核心区别在哪,讲了滑动窗口保证可靠有序传输,UDP不可靠。TCP需要连接而UDP不需要。

    10g文件,只有2g内存,怎么查找文件中指定的字符串出现位置。MapReduce分割文件处理。 他说可以用cat | grep 管道处理

    怎么查看占用了端口号的程序的可执行文件的位置

    怎么统计日志文件中重复数量最多的前十行

    osi七层网络模型,五层网络模型,每次层分别有哪些协议

    tcp拥塞控制机制,慢开始,拥塞避免,快重传,快恢复

    tcp三次握手,四次挥手过程以及三次握手四次挥手的原因,timewait的原型,icmp属于

    cdn

    tcp的慢启动

    tcp的time_wait

    TIME_WAIT多了有什么问题?

    TCP的三次握手和四次挥手?仔细说说

    为什么要四次挥手?三次挥手不行吗?

    TCP的三次握手和四次挥手?仔细说说
     

    机器学习算法;

    算法提问(推公式,介绍原理),数据结构提问(写代码,介绍原理)

    简历上的项目一定要熟悉:项目背景,项目方案、项目成果。项目中的技术点要熟悉

    机器学习模型原理和机器学习常见的问题(正负样本不均衡)

    常见的机器学习模型要会推公式

    逻辑回归推导

    最大似然及交叉熵

    正则及各自优劣

    评价指标及含义

    kmeans的计算过程及复杂度

    bp推导

    lstm网络参数数量计算公式的推导

    XGBoost中对GBDT有哪些优化

    Word2Vec讲一下

    几种模型(SVM、lr、gdbt、em)的原理及公式推导

    rf、gdbt的区别

    决策树处理连续值的方法

    特征选择的方法

    过拟合问题的解决

    反向传播原理

    PCA原理

    PCA的实现过程(步骤)

    PCA与SVD

    SIFT原理

    梯度消失的原因及解决方法

    k-means的原理,优缺点以及改进

    常见分类模型(SVM、决策树、贝叶斯等)的优缺点、使用场景、如何选择

    SVM为啥要引入拉格朗日乘子法

    梯度下降的优缺点 梯度下降、随机梯度下降、批量梯度下降

    牛顿法 拟牛顿法

    牛顿法和梯度下降法的联系

    em与kmeans的关系

    详细解释CNN的原理

    海量的item算文本相似度的优化方法

    L1L2的区别以及如何解决L1求导困难

    解释world2vec的原理以及哈夫曼树的改进

    模型的迭代训练中怎么评估效果

    LDA的原理

    常见的机器学习模型(线性回归、逻辑回归、SVM、感知机、KNN、K-means、EM等)

    常见的机器学习理论(过拟合、交叉验证、模型选择、模型融合)

    常见的深度学习模型(CNN、RNN)

    SIFT原理

    SVM核函数的作用

    SVM,线性回归和逻辑回归的原理及区别

    逻辑回归实现多分类

    Adaboost算法

    通过简单示例,详细解释ROC曲线,要求给出必要的公式推导。

    给出LR(逻辑回归)算法的cost function公式的推导过程。

    目标检测时,输入的是视频时,如何进行检测?视频中有很多无用的帧(不包含要检测的目标等)-->人工分割视频、每隔一定数量的帧进行检测

    混合高斯模型(GMM)是怎么样的?à原理和公式

    梯度下降:为什么多元函数在负梯度方向下降最快?

    常用的聚类方法有哪些,简述其原理?分级聚类,K-means聚类

    Sigmoid激活函数为什么会出现梯度消失?Sigmoid函数导数的最大值出现在哪个值?-->(x=0处)  ReLU激活函数为什么能解决梯度消失问题?

    Softmax是和什么loss function配合使用?-->多项式回归loss   该loss function的公式?

    常用的颜色空间有哪些?各有什么特征?

    随机森里的原理分析

    随机森林的随机性体现在哪里?

    常用的图像分割算法有哪些,各有什么优缺点?

    图像的像素数和分辨率有什么区别?

    SVM的参数c和g(cost和gamma)

    SVM的参数c

    视觉:

    canny边缘检测算法的过程

    常用的边缘检测算法:canny算子、Sobel算子

    常用的局部特征和全局特征

    颜色识别:

    • RGB空间范围分别是0-255,RGB空间白色全为255 黑色全为0,转化为HSV空间,识别颜色
    • HSV空间,H:0-180   S:0-255   V:0-255  在HSV空间查表得到颜色

    为什么不在RGB中设置范围查找颜色,而是在HSV中

    • RGB空间并不能很好地反映出物体具体的颜色信息 , 而相对于RGB空间,HSV空间能够非常直观的表达色彩的明暗,色调,以及鲜艳程度,方便进行颜色之间的对比,比如红色在HSV空间中H维度的范围为0~10和160~180 你跟我说在RGB中它的范围是什么呢?

    机器学习、计算机视觉面经整理

    有用的文章

    啊啊

    综合能力面试:

    优缺点

    什么是有效的沟通

    怎么与人合作的

    怎么证明自己的学习能力强

    最有成就的事

    遇到过什么挫折

    平时喜欢干什么

    用三个词形容自己

    看什么书,重点讲一本

    问了一下最近看什么书,什么时候开始写博客的

    环形商场里又很多商家,商家的钱实现不知道,让你去抢钱,不能连续抢两家,怎么保证抢钱最多

    如果你带领一个团队做一款产品,你想做什么,为什么

    假设有个M*N的方格,从左下角走到右上角每次只能向右或向上,有多少种走法,如果中间有若干格子不能走,又有多少种走法

    问面试官的问题:

    这个问题会暴露你的关注点,最好能让面试官知道你对未来工作细节的关注,询问面试官提到的公司的事工作的事,而不是薪酬福利。或者提前准备一些通用问题

    额外的:
    真正大佬的姿态是这样的,您随意出,没我不会的
    引导面试官向自己擅长的方向提问,把面试转化为对话聊天的形式
    程序员没有群面,偏国企的有群面
    对每个知识点,最好说出自己的理解
    Java和python都要会
    项目细节一定要很熟悉
  • 相关阅读:
    appium的log详细分析
    安卓版本6.0打开uiautomator报错
    wmware搬家
    Appium_Python_Api文档
    EF常用命令行
    Java学习----this和super(在继承中)
    Java学习----到底调用哪一个方法(多态)
    Java学习----方法的覆盖
    Java学习----对象间的继承
    Java学习----一个对象怎么调用另一个对象呢?
  • 原文地址:https://www.cnblogs.com/Aaron12/p/9559191.html
Copyright © 2011-2022 走看看