面试准备

编程基础:

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

进程间通信方式

线程和进程

线程的状态转化

数组和链表的区别

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

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

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都要会 项目细节一定要很熟悉

    原文作者:银行家问题
    原文地址: https://www.cnblogs.com/Aaron12/p/9559191.html
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞