以下内容来自于应聘者回忆整理
很多同学都想得到百度的实习或者校招机会。那从过来人的角度谈谈,要通过百度的实习、校招面试,都有哪些经验和注意事项呢?今天就跟大家分享一下。
总体情况:两天内三场面试,是一对一面试的。
【一面】
1、自我介绍
2、介绍一下简历中提到过的项目
3、关于数据库索引
索引是对数据库 表中一列或多列的值进行排序的一种结构,使用索引可快速访问数据库表中的特定信息。. 如果想按特定职员的姓来查找他或她,则与在表中搜索所有的行相比,索引有助于更快地获取信息。. 索引的一个主要目的就是加快检索表中数据,亦即能协助信息搜索者尽快的找到符合限制条件的记录ID的辅助数据结构。
4、session 和 cookie 之间的区别
作用范围不同,Cookie 保存在客户端(浏览器),Session 保存在服务器端。 存取方式的不同,Cookie 只能保存ASCII,Session 可以存任意数据类型,一般情况下我们可以在Session 中保持一些常用变量信息,比如说UserId 等。
5、算法写,就是最大公共子序列的问题
【 二面】
1、写下代码
重点:向面试官展示你的想法和思路
2、是否了解动态规划
动态规划是运筹学的一个分支,是求解决策过程最优化的过程。20世纪50年代初,美国数学家贝尔曼等人在研究多阶段决策过程的优化问题时,提出了著名的最优化原理,从而创立了动态规划。动态规划的应用极其广泛,包括工程技术、经济、工业生产、军事以及自动化控制等领域,并在背包问题、生产经营问题、资金管理问题、资源分配问题、最短路径问题和复杂系统可靠性问题等中取得了显著的效果 [1] 。
3、操作系统的多线程问题
4、HTTP 和 HTTPS 的主要区别。
HTTP 是未经安全加密的协议,它的传输过程容易被攻击者监听、数据容易被窃取、发送方和接收方容易被伪造;而 HTTPS 是安全的协议,它通过 密钥交换算法 - 签名算法 - 对称加密算法 - 摘要算法 能够解决上面这些问题。
【三面】
总体情况:技术面
1、两条相交的单向链表,如何求他们的第一个公共节点。
【思路】
(1)如果两个链表相交,则从相交点开始,后面的节点都相同,即最后一个节点肯定相同;
(2)从头到尾遍历两个链表,并记录链表长度,当二者的尾节点不同,则二者肯定不相交;
(3) 尾节点相同,如果A长为LA,B为LB,如果LA>LB,则A前LA-LB个先跳过,
然后二者一起向后遍历,直到遇到相同的节点;LA 因为第一个公共节点距起始节点的距离start_a满足: LA - start_a == LB - start_b。
2、格雷编码
典型的二进制格雷码简称格雷码,因1953年公开的弗兰克·格雷(Frank Gray,18870913-19690523)专利“Pulse Code Communication”而得名,当初是为了通信,现在则常用于模拟-数字转换和位置-数字转换中。法国电讯工程师波特(Jean-Maurice-Émile Baudot,18450911-19030328)在1880年曾用过的波特码相当于它的一种变形。1941年George Stibitz设计的一种8元二进制机械计数器正好符合格雷码计数器的计数规律。格雷码曾用过Grey Code、葛莱码、葛兰码、格莱码、戈莱码、循环码、二进制反射码、最小差错码等名字,它们有的是错误的,有的易与其它名称混淆,建议不再使用它们。
3、分割回文串的问题
在分割的过程中对于每一个字符串而言都可以分为两部分:左边一个回文串加右边一个子串,比如 "abc" 可分为 "a" + "bc" 。. 然后对"bc"分割仍然是同样的方法,分为"b"+"c"。. 在处理的时候去优先寻找更短的回文串,然后回溯找稍微长一些的回文串分割方法,不断回溯,分割,直到找到所有的分割方法。. 举个 :分割"aac"。. 分割为 a + ac. 分割为 a + a + c,分割后,得到一组结果,再回溯到 a + ac. a + ac 中 ac 不是回文串,继续回溯,回溯到 aac. 分割为稍长的回文串,分割为 aa + c 分割完成得到一组结果,再回溯到 aac.
4、JAVA 的垃圾回收机制
Java的垃圾回收机制是Java虚拟机提供的能力,用于在空闲时间以不定时的方式动态回收无任何引用的对象占据的内存空间。 我们用System.gc ()或者 Runtime.getRuntime ().gc () 来通知垃圾回收机(JVM)回收垃圾。
5、如何设计一个高并发的系统
6、个人的猜想什么。
7、未来薪资希望
想要更多百度实习、校招的机会,请点击这里