百度基础架构组-实习生面试(2016.08 java后台开发)
一、项目
1、Spring MVC与Struts2的区别:
2、MVC三层是如何工作的?比如:要访问一个Url?a=xx&b=xx,怎么找到相应的资源,怎么运算,怎么返回等?
3、数据库mybatis,如何优化的?加索引。
二、计算机网络
1、Http协议中GET与POST的区别
a) GET请求的数据会附在URL之后(就是把数据放置在HTTP协议头中),以?分割URL和传输数据,参数之间以&相连。POST把提交的数据则放置在是HTTP包的包体中。
b) GET传递的数据长度有限制,POST方式在理论上是没有大小限制的,可以传输大量数据。
c) POST的安全性要比GET的安全性高。因为GET方式传输的数据以明文的形式出现在URL中。
2、Http协议的状态
(200 – 服务器成功返回网页 404 – 请求的网页不存在 503 – 服务不可用 )
a) 2xx(成功),表示成功处理了请求。
b) 3xx(重定向),表示要完成请求,需要进一步操作。 通常,这些状态代码用来重定向。
301 (永久移动) 请求的网页已永久移动到新位置。 服务器返回此响应(对 GET 或 HEAD 请求的响应)时,会自动将请求者转到新位置。 302 (临时移动) 服务器目前从不同位置的网页响应请求,但请求者应继续使用原有位置来进行以后的请求。305 (使用代理) 请求者只能使用代理访问请求的网页。 如果服务器返回此响应,还表示请求者应使用代理。
d) 4xx(请求错误),这些状态代码表示请求可能出错,妨碍了服务器的处理。
401 (未授权) 请求要求身份验证。 对于需要登录的网页,服务器可能返回此响应。403 (禁止) 服务器拒绝请求。404 (未找到) 服务器找不到请求的网页。
e) 5xx(服务器错误),这些状态代码表示服务器在尝试处理请求时发生内部错误。 这些错误可能是服务器本身的错误。
三、Git与SVN的区别,Git pull、fetch、rebase、reset的区别
1) Git是分布式的,SVN不是。即每个开发人员从中心版本库上\服务器上check out代码后会在自己的机器上克隆一个自己的版本库。
这样,如果你被困在一个不能连接网络的地方,仍然可以提交文件,查找历史版本记录,创建分支。
2) Git分支和SVN的分支不同。Git是基于差异来管理分支的,其分支的代价极小,切换分支也极为方便和快捷。
3) git pull 相当于是从远程获取最新版本并merge到本地;git fetch 相当于是从远程获取最新版本到本地,不会自动merge;实际上使用git fetch更安全一些。
因为在merge前,我们可以查看更新情况,然后再决定是否合并。
4) git rebase?
5) git reset?
四、数据结构
HashMap内部是怎么实现的?拉链式结构
TreeMap 红黑树
五、算法
1、如何判断一个单链表中是否存在环(两个指针,一快一慢)
2、求Fibonacci数列的最快算法,最少时间复杂度是多少?
a) 迭代算法,O(N),需要借助O(N)的空间,最简单。
b) 递归,O(2^N),空间复杂度O(1),时间复杂度太高。
c) 矩阵乘法,最快,时间复杂度O(logN),但是计算比较复杂,不深入讨论。
3、求1-9999这9999个数字中含有多少个1? 分类,排列组合
4、都知道哪些排序算法(具体怎么实现)?手写堆排序算法,冒泡排序算法。
5、数组大小为N,元素取值范围为[1,N],统计每个元素出现的次数。
要求时间复杂度为O(N), 空间复杂度为O(1),可以改变数组元素。
六、Java基础
1、GC垃圾回收机制原理
2、== 与 equals区别
3、final关键字
4、short s1=1;s1 = s1+1;
七、操作系统
linux常用命令
八、前端
正则表达式、js、css块、html、bootstrap
九、IPC(中间件)
例如:spring mvc等,是将HTTP协议......
十、数据挖掘
聚类算法:如何优化?
百度基础架构组-实习生面试(2016.08 java后台开发)的更多相关文章
- 2022年字节跳动基础架构前端实习生凉经(4轮技术面+hr面)
技术一面 原文链接:https://juejin.cn/post/7120516854203809829 因为我之前的项目经验有开发小程序的,所以一开始就问了小程序的问题 1.小程序onload和on ...
- 2016年Java服务器端开发面试总结
因为一些个人原因,陆陆续续参加了一些校招补招.社招的笔试和面试(BAT),也包括一些国外公司(Spotify, Google, Ericsson),最后有幸被网易收入麾下,拿到了S.下面罗列一些我复习 ...
- 维恩贝特面试JAVA后台开发
1 自我介绍 2 链表和数组区别(数组空间连续,且有下标,查找快,但是增删数据效率不高,链表的空间不连续,查找起来慢,但是对数据的增删效率高,链表可以随意扩大,数组不能) 3 sort方法的实现 (A ...
- 零基础,三个月内,找到??? java后端开发工作
一.分析你的问题 出于尊重,先分析一下你的原问题吧,从您的问题,我提取到关键信息:"零基础"."三个月内"."找到工作",最后一个关键词&q ...
- 腾讯电话面试总结(IEG后台开发)
1 Java面向对象:设计window画板的类框架.假设现在只有 直线.矩形.椭圆,怎么设计 2 Linux shell命令 定时怎么做 3 平时有问题经常访问那些网站 4 假设你现在是web网站 ...
- Java后台工程师面试杂记——不跳不涨工资星人跳槽经历
经过接近一个月的时间,完成换工作这件“小事”,前后总计面试了多家公司,最后也没接到几个offer,不过最终总算尘埃落定,就对这个过程进行一个总结吧. 在某互联网公司工作了近一年的时间,但是频繁的业务需 ...
- 深入浅出node.js游戏服务器开发1——基础架构与框架介绍
2013年04月19日 14:09:37 MJiao 阅读数:4614 深入浅出node.js游戏服务器开发1——基础架构与框架介绍 游戏服务器概述 没开发过游戏的人会觉得游戏服务器是很神秘的 ...
- Java后台面试 常见问题
Java后台面试 常见问题 从三月份找实习到现在,面了一些公司,挂了不少,但最终还是拿到小米.百度.阿里.京东.新浪.CVTE.乐视家的研发岗offer.我找的是java后台开发,把常见的问题分享 ...
- [原创]大连sap vt 实习生面试经历
从决定参加这次面试开始,求职生涯就算是开始了,虽然失败了,但也是亲身体会到了面试的感觉,这次经历也作为第一篇博客. 大连sap的职能是sap的全球技术支持中心和解决方案提供中心.VT项目提供的岗位是技 ...
随机推荐
- Spring Boot源码分析
1.核心: SpringApplication.run(SpringbootdemoApplication.class, args); 内部 2.初始化: new SpringApplication( ...
- 101. Symmetric对称 Tree
Given a binary tree, check whether it is a mirror of itself (ie, symmetric around its center). For e ...
- Trimmomatic过滤Illumina低质量序列
1. 下载安装 直接去官网下载二进制软件,解压后的trimmomatic-0.36.jar即为我们需要的软件 官网: http://www.usadellab.org/cms/index.php?pa ...
- sql 之 INSERT IGNORE
INSERT IGNORE 与INSERT INTO的区别就是INSERT IGNORE会忽略数据库中已经存在 的数据,如果数据库没有数据,就插入新的数据,如果有数据的话就跳过这条数据.这样就可以保留 ...
- P3167 [CQOI2014]通配符匹配
吐槽 本来是去写AC自动机的,然后发现数据范围每个串100000,有100个串(???),连塞进trie树里都塞不进去,玩个鬼的AC自动机啊,tag不要乱打啊 最后拿字符串hash+爆搜一发搜过去了. ...
- springBoot 全局异常捕捉
package cn.com.cs.core.exception; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import or ...
- UVA 11019 Matrix Matcher(哈希)
题意 给定一个 \(n\times m\) 的矩阵,在给定一个 \(x\times y\) 的小矩阵,求小矩阵在大矩阵中出现的次数. \(1 \leq n,m \leq 1000\) \(1\leq ...
- python学习打卡 day12 生成器
本节主要内容 : 生成器 生成器函数 各种推导式 生成器表达式 一.生成器 什么是生成器.生成器的本质就是迭代器. 在python中有三种方式来获取生成器: 1.通过生成器函数 2.通过各种推导式来实 ...
- nodejs项目安装ant design
1.确保安装好nodejs $ node --version v10.4.1 2.确保npm $ npm -v 6.1.0 3.安装 $ sudo npm install antd-init -g / ...
- [原][osg]osgconv浅析
查看osgconv.cpp main函数在533行 osg::ArgumentParser arguments(&argc,argv); //........一堆功能不管,先看一下文件读写 F ...