4.18百度图像算法工程师笔试题岗笔试有收到面试通知的吗

简答题:什么情况下会引起内存泄漏,有什么方法规避和检查内存泄漏?
代码题:给定一个无序的序列,输出最长有序子序列的长度。例如{100,4,200,2,3,1},最长有序子序列为{1,2,3,4},输出4。要求时间复杂度不大于O(n).
选做题:关于任务调度。大意:系统中有很多任务,包括CPU密集型和I/O密集型,每个任务执行时间不一样,而且不断产生新的任务。在保证所有任务会被执行到的前提下,设计一个任务调度算法。
整合答案(不一定正确)
http://www.ibm.com/developerworks/cn/java/l-JavaMemoryLeak/index.html
http://www.blogjava.net/shiliqiang/articles/292452.html
Java的几乎所有内存对象都是在堆内存上分配(基本数据类型除外),然后由GC(garbage collection)负责自动回收不再使用的内存。
Java中对内存对象的访问,使用的是引用的方式。在Java代码中我们维护一个内存对象的引用变量,通过这个引用变量的值,我们可以访问到对应的内存地址中的内存对象空间。在Java程序中,这个引用变量本身既可以存放堆内存中,又可以放在代码栈的内存中(与基本数据类型相同)。GC线程会从代码栈中的引用变量开始跟踪,从而判定哪些内存是正在使用的。如果GC线程通过这种方式,无法跟踪到某一块堆内存,那么GC就认为这块内存将不再使用了(因为代码中已经无法访问这块内存了)。当一个内存对象失去了所有的引用之后,GC就可以将其回收。反过来说,如果这个对象还存在引用,那么它将不会被GC回收,哪怕是Java虚拟机抛出OutOfMemoryError。
Java内存泄露
主要原因:
一、如在C/C++语言中的,在堆中的分配的内存,在没有将其释放掉的时候,就将所有能访问这块内存的方式都删掉(如指针重新赋值);例如:申请Object对象,并将所申请的对象放入一个 Vector中,如果仅仅释放对象本身,但因为Vector仍然引用该对象,所以这个对象对GC来说是不可回收的。
二、在内存对象明明已经不需要的时候,还仍然保留着这块内存和它的访问方式(引用)
几种典型的内存泄漏:
一、全局集合
在大型应用程序中存在各种各样的全局数据仓库是很普遍的,比如一个JNDI-tree或者一个session table.在这些情况下,必须注意管理储存库的大小.必须有某种机制从储存库中移除不再需要的数据.
通常有很多不同的解决形式,其中最常用的是一种周期运行的清除作业.这个作业会验证仓库中的数据然后 清除一切不需要的数据.另一种管理储存库的方法是使用反向链接(referrer)计数.然后集合负责统计集合中每个入口的反向链接的数目.这要求反向链 接告诉集合何时会退出入口.当反向链接数目为零时,该元素就可以从集合中移除了.
二、 缓存& 缓存一种用来快速查找已经执行过的操作结果的数据结构.因此,如果一个操作执 行需要比较多的资源并会多次被使用,通常做法是把常用的输入数据的操作结果进行缓存,以便在下次调用该操作时使用缓存的数据.缓存通常都是以动态方式实现 的,如果缓存设置不正确而大量使用缓存的话则会出现内存溢出的后果,因此需要将所使用的内存容量与检索数据的速度加以平衡.
常用的解决途径是使用java.lang.ref.SoftReference类坚持将对象放入缓存.这个方法可以保证当虚拟机用完内存或者需要更多堆的时候,可以释放这些对象的引用.
三、 类装载器& Java类装载器的使用为内存泄漏提供了许多可乘之机.一般来说类装载器 都具有复杂结构,因为类装载器不仅仅是只与"常规"对象引用有关,同时也和对象内部的引用有关.比如数据变量,方法和各种类.这意味着只要存在对数据变 量,方法,各种类和对象的类装载器,那么类装载器将驻留在JVM中.既然类装载器可以同很多的类关联,同时也可以和静态数据变量关联,那么相当多的内存就 可能发生泄漏.
如何检测和处理内存泄漏 如何查找引起内存泄漏的原因一般有两个步骤:第一是安排有经验的编程人员对代码进行走查和分析,找出内存泄漏发生的位置;第二是使用专门的内存泄漏测试工具进行测试. 一、在代码走查的工作中,可以安排对系统业务和开发语言工具比较熟悉的开发人员对应用的代码进行了交叉走查,尽量找出代码中存在的数据库连接声明和结果集未关闭、代码冗余等故障代码. 二、使用一些工具来检查Java程序的内存泄漏 问题.它们的基本工作原理大同小异,都是通过监测Java程序运行时,所有对象的申请、释放等动作,将内存管理的所有信息进行统计、分析、可视化.开发人员将根据这些信息判断程序是否有内存泄漏问题.这些工具包括Optimizeit Profiler,JProbe Profiler,JinSight , Rational 公司的Purify等
处理内存泄漏的方法& 一旦知道确实发生了内存泄漏,就需要更专业的工具来查明为什么会 发生泄漏.JVM自己是不会告诉您的.这些专业工具从JVM获得内存系统信息的方法基本上有两种:JVMTI和字节码技术(byte code instrumentation).Java虚拟机工具接口(Java Virtual Machine Tools Interface,JVMTI)及其前身Java虚拟机监视程序接口(Java Virtual Machine Profiling Interface,JVMPI)是外部工具与JVM通信并从JVM收集信息的标准化接口.字节码技术是指使用探测器处理字节码以获得工具所需的信息的技 术.
Optimizeit是Borland公司的产品,主要用于协助对软件系统进行代码优化和故障诊断,其中的Optimizeit Profiler主要用于内存泄漏的分析.Profiler的堆视图就是用来观察系统运行使用的内存大小和各个类的实例分配的个数的. 首先,Profiler会进行趋势分析,找出是哪个类的对象在泄漏.系统运行长时间后可以得到四个内 存快照.对这四个内存快照进行综合分析,如果每一次快照的内存使用都比上一次有增长,可以认定系统存在内存泄漏,找出在四个快照中实例个数都保持增长的 类,这些类可以初步被认定为存在泄漏.通过数据收集和初步分析,可以得出初步结论:系统是否存在内存泄漏和哪些对象存在泄漏(被泄漏). 接下来,看看有哪些其他的类与泄漏的类的对象相关联.前面已经谈到Java中的内存泄漏就是无用的对 象保持,简单地说就是因为编码的错误导致了一条本来不应该存在的引用链的存在(从而导致了被引用的对象无法释放),因此内存泄漏分析的任务就是找出这条多 余的引用链,并找到其形成的原因.查看对象分配到哪里是很有用的.同时只知道它们如何与其他对象相关联(即哪些对象引用了它们)是不够的,关于它们在何处 创建的信息也很有用.
最后,进一步研究单个对象,看看它们是如何互相关联的.借助于Profiler工具,应用程序中的代码可以在分 配时进行动态添加,以创建堆栈跟踪.也有可以对系统中所有对象分配进行动态的堆栈跟踪.这些堆栈跟踪可以在工具中进行累积和分析.对每个被泄漏的实例对 象,必然存在一条从某个牵引对象出发到达该对象的引用链.处于堆栈空间的牵引对象在被从栈中弹出后就失去其牵引的能力,变为非牵引对象.因此,在长时间的 运行后,被泄露的对象基本上都是被作为类的静态变量的牵引对象牵引.
总而言之, Java虽然有自动回收管理内存的功能,但内存泄漏也是不容忽视,它往往是破坏系统稳定性的重要因素.
代码题见下一篇。 &
相关标签/搜索用一天的时间面完百度了三轮面试,等了两天,今天终于收到了百度的签约通知(一)
】 浏览:4248次
应聘的岗位:开发测试工程师。首先先明确一点,这个岗位听起来像搞测试的,但其实重点在开发,因此对开发的要求也很高。以笔试为例,试卷题目和其他开发岗位基本相同,只有一两道简答题在考察的侧重点上有点区别。所以,没有一定的能力,不要选择这个职位。我当时笔试是霸笔的,和我一排参加霸笔的同学几乎都有这个误区,结果笔试开始不到十五分钟,就都弃考走人了。一面三面下来,觉得一面考的是最针对性的。估计这一场刷人最多。面我的看得出来是个很资深的工程师。跟我会面后,我立即先把我的简历递给他。他就很认真的看,顺便问我是哪里的。估计是在考虑我可能的工作地点。我们简单聊了几句,就到了一间会议室。我坐在他的旁边,面前有一张纸和一支笔。首先是自我介绍,自我介绍是一个给面试官初次印象的绝佳好机会。建议利用这三十秒左右的时间讲清楚以下几个问题:1. 你叫什么名字; 2. 你来自哪个学校,哪个专业,做过哪些方面的研究; 3. 你擅长什么,为什么你选择这个职位。这点很重要,一定要在自我介绍的时候就突出自己的优势。我的自我介绍内容:“我叫XXX, 我本科在华南师范大学就读,后来保研本校继续攻读硕士。在期间我在中国科学院实习过一年的时间,做的主要是图形图像方面的研究。我自己觉得我竞争这个职位的优势在于:我很喜欢折腾,还有偷懒。我很喜欢折腾一些别人看起来很奇葩的工具,也很喜欢通过写一些脚本,让一些繁琐的事情自动化,让自己偷懒。在平常的开发中,我也很喜欢TDD的方式,这也是为什么我很渴望来百度质量部。”听到“折腾”和“偷懒”两个词的时候,考官嘴角扬起了一丝笑意。之后他就让我介绍自己的项目经验。项目经验一定要事先认真准备一下,有些人项目经验很丰富,但是没有认真去回顾一下,很可能就会被问倒,对接下来的面试造成很大影响。在参加百度面试的前晚,我就把自己列在简历上的项目重温了一遍,甚至把自己写过的一个加密算法的代码都背了下来。于是,他问到这个问题的时候我非常自信,先讲了自己独立完成的一个开源项目,然后一个个介绍自己的科研经验。涉及到一些有趣的算法,遇到的困难我也会有简短而生动的语言讲一下,有时他也会试图问一些让我意想不到的问题,但是没有把我难住。在讲了大概三四个项目后,这一关算过了。接下来问我 strcpy 和 memcpy 的区别,之前我虽然把C的标准库都过了一遍,但还真没怎么用过 memcpy,于是只好坦诚说我只知道前者更高层,但比较危险;后者更底层,速度更快。之后一道算法题:反转字符串。一看题目这么简单,我就知道肯定是注重考察我写程序的鲁棒性。所以我先跟他说明了思路:一定要先检查字符串是否为空,然后第一个字符跟倒数第二个字符交换(最后一个字符是’\0′),第二个跟倒数第三个交换,从头遍历到字符串长度的一半。面试官一看思路对头,就让我用程序写出来。我就很小心的完成了程序,写交换函数的时候还特意写成了内联模板函数,然后用异或的方式完成数据交换。顺便还跟他说如果用python写,这一个程序只需要一行(用切片)。面试官看了一下程序,没找到问题,就让我分析时间复杂度和算法复杂度,我说时间复杂度是 O(n),但是规模只有数组长度的一半。空间复杂度我就弄错了,以为多少数据复杂度就多高,所以也说是 O(n) ,面试官就问我是不是不知道什么是空间复杂度。我就老实说我没关注过空间复杂度,但我的算法是原地的。然后他就没有再问了。接下来问我内存分配机制,前晚我刚好还重温过这方面的知识,正中下怀。于是立马画图,把进程空间的分配详细介绍了一下,顺便提了下栈帧、函数调用、虚拟内存、PA、VA、mmap、共享库等概念。对栈帧的介绍是我故意布下的陷阱:我特意提了一下gdb的“frame”命令可以在不同函数的栈帧间跳转。果然面试官接下来就立马考我gdb的使用,让我介绍一下gdb有哪些命令,gdb的命令我也在前晚重温了一遍,立马列举了十几个,还加上我的使用心得。他就继续问我知不知道 gdb 的 core 文件,我一开始听成了“call”,愣了几秒钟,就问他怎么拼。他说是“core”,我立马想到了“core dump”,就跟他说Linux C程序发生段错误的时候会提示“段吐核”,其实就是“core dump”,通常不会产生文件,但用一个命令(ulimit)可以开启输出段错误到 core 文件的功能,然后 gdb 就可以读入它进行调试。我还顺便跟他侃了一下网友关于“段吐核”应该翻译成“段吐槽”的八卦。之后他问我如何测试一个登陆框,于是我先从输入输出数据入手,采用白盒测试法,先画了个因果图,列举了导致成功需要的数据,导致失败需要的数据。解答的过程中我不断跟面试官保持交流,问他“这个登陆框是web版的吗?”,“这个登陆框面向哪些用户?只是中国人,还是所有地区?”一步步修正自己的答案。比如,当他说是 web 版的时侯,我就知道除了测数据之外肯定要测试页面兼容性。当他说面向所有地区的时候,我就知道一定要测试不同语言的名字,顺便跟他侃了一些之前阿拉伯文导致苹果ios系统瘫痪的八卦。完成数据测试后,他问我除了测试数据之外还应该测试什么,我很快就想了压力测试(负载能力)、浏览器兼容性测试、美观度测试(是否使用和百度风格一致的页面元素)、语言测试(能否为不同地区的访客提供不同语言的页面)等等七八个其他的测试。这道题顺利通过。接下来考我 shell 命令,首先问我怎么查看一个进程占用资源的情况。我用 top 加 grep 命令秒杀。问我怎么统计硬盘里所有文件的大小,我说看过这个命令,但想不起来(df命令),不过我知道这个命令底层是基于 inode 的,所以速度很快。他就问我 inode 是什么,我逮到机会,立马给他介绍了一番 ext2 和 inode 。他就进一步问我,给一个目录,怎么计算这个目录里所有文件的大小。我就立马写了 awk 脚本搞定。最后看我的简历上还写熟悉 Valgrind,就问我 Valgrind 的知识。我顺便提及我喜欢在 Makefile 里调用一个 shell 脚本,该脚本用于测试所有的单元测试用例,并执行一次 Valgrind 检测内存泄露。一句话概括我对 Makefile、shell、单元测试以及 Valgrind 的熟悉度。他很满意,就跟我说他这边没问题了,应该会很快通知我下一轮。我就立马跟他说我是特意从广州过来的,所以能否安排的再紧凑些。他说没问题,下午就让我二面。我听了很开心,来之前我听说百度面试有个潜规则,凡是一天多面的,都是有希望进的。二面中午去吃了个饭,到百度楼下的星巴克喝了杯咖啡,就收到了通知二面的电话。这次是一个女的,我心里那个激动呀。但还是要小心,说不定是个灭绝师太。跟她会面后,发现整个过程还是非常轻松的,没考算法,都在聊项目经验,在这个过程中从侧面分析我的开发能力和交流能力。另外还问了我工作地点意向,能否选择北京。看得出来北京百度那边比较缺人。我说我女朋友在深圳读研,所以选择深圳。这个过程中我认为有两个地方需要注意:一个是问我之前都应聘过其他公司哪些职位。我回答阿里报的是数据挖掘,腾讯报了个后台开发,其他公司清一色报了。我听说百度这边的开发测试是以开发为主的,所以我才报了开发测试。一定要在面试过程中强调自己的开发能力,因为百度开发测试做的还是开发!第二个是她问完话让我问她问题。百度三轮面试只有这一轮给我机会问问题,而我事先就精心准备了三个问题。“我有
【】【】【】
【】【】【】
<div style="font-size:13text-align:height:14padding:0font-weight:"
id="DiggNum_
<div style="font-size:13text-align:height:14padding:0font-weight:"
id="DiggNum_
<div style="font-size:13text-align:height:14padding:0font-weight:"
id="DiggNum_
<div style="font-size:13text-align:height:14padding:0font-weight:"
id="DiggNum_
<div style="font-size:13text-align:height:14padding:0font-weight:"
id="DiggNum_
<div style="font-size:13text-align:height:14padding:0font-weight:"
id="DiggNum_
<div style="font-size:13text-align:height:14padding:0font-weight:"
id="DiggNum_
<div style="font-size:13text-align:height:14padding:0font-weight:"
id="DiggNum_
<div style="font-size:13text-align:height:14padding:0font-weight:"
id="DiggNum_
<div style="font-size:13text-align:height:14padding:0font-weight:"
id="DiggNum_
<div style="font-size:13text-align:height:14padding:0font-weight:"
id="DiggNum_
<div style="font-size:13text-align:height:14padding:0font-weight:"
id="DiggNum_
<div style="font-size:13text-align:height:14padding:0font-weight:"
id="DiggNum_
<div style="font-size:13text-align:height:14padding:0font-weight:"
id="DiggNum_
<div style="font-size:13text-align:height:14padding:0font-weight:"
id="DiggNum_
<div style="font-size:13text-align:height:14padding:0font-weight:"
id="DiggNum_
<div style="font-size:13text-align:height:14padding:0font-weight:"
id="DiggNum_
<div style="font-size:13text-align:height:14padding:0font-weight:"
id="DiggNum_
<div style="font-size:13text-align:height:14padding:0font-weight:"
id="DiggNum_
<div style="font-size:13text-align:height:14padding:0font-weight:"
id="DiggNum_
<div style="font-size:13text-align:height:14padding:0font-weight:"
id="DiggNum_78
<div style="font-size:13text-align:height:14padding:0font-weight:"
id="DiggNum_81
<div style="font-size:13text-align:height:14padding:0font-weight:"
id="DiggNum_76
<div style="font-size:13text-align:height:14padding:0font-weight:"
id="DiggNum_10
<div style="font-size:13text-align:height:14padding:0font-weight:"
id="DiggNum_07
<div style="font-size:13text-align:height:14padding:0font-weight:"
id="DiggNum_08
<div style="font-size:13text-align:height:14padding:0font-weight:"
id="DiggNum_79
<div style="font-size:13text-align:height:14padding:0font-weight:"
id="DiggNum_73
<div style="font-size:13text-align:height:14padding:0font-weight:"
id="DiggNum_85
<div style="font-size:13text-align:height:14padding:0font-weight:"
id="DiggNum_43
<div style="font-size:13text-align:height:14padding:0font-weight:"
id="DiggNum_
<div style="font-size:13text-align:height:14padding:0font-weight:"
id="DiggNum_
<div style="font-size:13text-align:height:14padding:0font-weight:"
id="DiggNum_
<div style="font-size:13text-align:height:14padding:0font-weight:"
id="DiggNum_
<div style="font-size:13text-align:height:14padding:0font-weight:"
id="DiggNum_
<div style="font-size:13text-align:height:14padding:0font-weight:"
id="DiggNum_
<div style="font-size:13text-align:height:14padding:0font-weight:"
id="DiggNum_
<div style="font-size:13text-align:height:14padding:0font-weight:"
id="DiggNum_
<div style="font-size:13text-align:height:14padding:0font-weight:"
id="DiggNum_
<div style="font-size:13text-align:height:14padding:0font-weight:"
id="DiggNum_
<div style="font-size:13text-align:height:14padding:0font-weight:"
id="DiggNum_9
<div style="font-size:13text-align:height:14padding:0font-weight:"
id="DiggNum_9
<div style="font-size:13text-align:height:14padding:0font-weight:"
id="DiggNum_9
<div style="font-size:13text-align:height:14padding:0font-weight:"
id="DiggNum_9
<div style="font-size:13text-align:height:14padding:0font-weight:"
id="DiggNum_3
<div style="font-size:13text-align:height:14padding:0font-weight:"
id="DiggNum_3
<div style="font-size:13text-align:height:14padding:0font-weight:"
id="DiggNum_3
<div style="font-size:13text-align:height:14padding:0font-weight:"
id="DiggNum_3
<div style="font-size:13text-align:height:14padding:0font-weight:"
id="DiggNum_3百度2015校园招聘面试题(成功拿到offer) - 文章 - 伯乐在线
& 百度2015校园招聘面试题(成功拿到offer)
盼望着,盼望着……今年终于轮到我找工作了,还深深记得去年跟在师兄后面各种打酱油的经历,当时觉得找工作好难啊,怎么面一个败一个,以后还能找到工作不?
不过当时的失败也是理所当然的,那时候没有做任何准备(连进程间有几种通信方式这样老掉牙的题我都不知道),没有任何找工作的经验,甚至一个简单的自我介绍都吞吞吐吐的。
经过一年时间的磨练,特别是近几个月的强度知识吸收,感觉个人在能力和知识储备方面有了质的提高,这大大提高了我的自信心,也让我在这个秋季的求职生涯最终以较满意收场。
截止目前为止,找工作总算告一段落。初次找工作,只投了前面的几家公司(有百度、阿里、美团、搜狗、华为等),今年比较幸运,面的几家公司都成功拿到offer,也算是初战告捷。这些公司的招聘结束后我就没再参加后面的一些大型互联网公司了,比如奇虎360、网易、爱奇艺、金山等等,不像我的一些同学,手里offer多的都拿不动了,也有满意的了,可还是满怀干劲的参加后面的招聘,真心不知道他们的精力和耐力从何而来,可能是他们想成为传说中的offer帝和面霸吧。我个人无喜于那些称谓,既然有了较满意的offer就不想再耗费太多的精力去争根本不会考虑的offer,也可能是自己的惰性所为……
OK,废话到此为止,下面简单回顾下自己在百度面试过程中的一些题目,给还在找工作或将来要找工作的同学一个浅薄的参考。
百度面试题
一面(1 hour):
1. 面试官从简历里抽了一个较感兴趣的项目,让把项目简单介绍了下,针对项目问了几个技术问题
2. 介绍Java中垃圾回收机制,程序员平时需要关注这个吗?为什么?请举例说明。
3. 数据库隔离级别介绍、举例说明。
4. override和overload的区别。
5. 求二叉树的最大距离(即相距最远的两个叶子节点),写代码。
6. 两个栈实现一个队列,写代码。
7. 你觉得你的优势是什么?有什么技术薄弱点吗?
8. 目前手上有offer吗?
二面(40 minutes):
1. 详细介绍研究生期间的小论文项目。
2. 求二叉树的宽度,先简介思路再写代码。
3. Hashmap、Hashtable和cocurrentHashMap的区别,要讲出它们各自的实现原理才行,比如Hashmap的扩容机制、cocurrentHashMap的桶分割原理、多线程安全性。
4. 进程调度算法,有哪些算法比较难实现?
5. linux下如何修改进程优先级?(nice命令的使用)。
6. linux下性能监控命令uptime介绍,平均负载的具体含义是什么?建议看server load概念。
7. linux下如何调试程序?说到gdb,具体如何调试?如何查看core文件中的堆栈信息等(bt指令)。
三面(1 hour and twenty minutes):
1. 介绍我研究生期间的论文,讲的很详细,每个点具体采用的技术、实现方法等,花了较长时间。
2. 打印二叉树两个叶子节点间的路径,写代码(汗,百度这么喜欢问二叉树)。
3. 字符串中第一个只出现一次的字符,如何优化算法使得遍历次数更少?
4. socket编程相关,如果服务器这边调用write写了100个字节的数据,客户端想要获得这个数据,是直接用read系统调用,参数也是100吗?
5. 百度新闻缓存预算问题:一般为了追求时间性能,都需要缓存一些新闻数据,你怎么计算所需预算?然后申请需要的主机……
6. 多线程的适用场景是什么?为啥要用多线程?
7. 问是否会go语言,……
8. 为啥对技术感兴趣,一些相关问题讨论。
9. 聊北京、谈offer。
最后面试官说像计算机体系结构、操作系统这样的书一定要看国外的,国内的有时候会误导人。
三面都是技术面,总体下来没有特别难的题目,从我的面试情况来看,百度这次非常看重面试者对二叉树的掌握情况,还有所做的项目详细介绍。后面我会继续分享自己在面试过程中的一些个人经验和技巧。
&#8212;&#8212;&#8212;&#8212;&#8212;
我的微博:@
关于作者:
可能感兴趣的话题
关于伯乐在线博客
在这个信息爆炸的时代,人们已然被大量、快速并且简短的信息所包围。然而,我们相信:过多“快餐”式的阅读只会令人“虚胖”,缺乏实质的内涵。伯乐在线内容团队正试图以我们微薄的力量,把优秀的原创文章和译文分享给读者,为“快餐”添加一些“营养”元素。
新浪微博:
推荐微信号
(加好友请注明来意)
&#8211; 好的话题、有启发的回复、值得信赖的圈子
&#8211; 分享和发现有价值的内容与观点
&#8211; 为IT单身男女服务的征婚传播平台
&#8211; 优秀的工具资源导航
&#8211; 翻译传播优秀的外文文章
&#8211; 国内外的精选文章
&#8211; UI,网页,交互和用户体验
&#8211; 专注iOS技术分享
&#8211; 专注Android技术分享
&#8211; JavaScript, HTML5, CSS
&#8211; 专注Java技术分享
&#8211; 专注Python技术分享
& 2018 伯乐在线邮件里通知的周日下午两点参加百度校招面试,我13:10分就到了,前台先让我拿了个面试资格单(上面是我的信息),然后在web前端面试入口排队,面试在百度食堂举行的,等了大概1个小时,放我去面试。都是一对一面试,人很多。
下面是面试过程:没让我自我介绍,有的会让先自我介绍,简单看了下我的简历开始问我是不是自学的,(计算机专业不开设这个专业,都是自学加项目经验)为什么选择前端开发,你怎么看前端开发这个岗位的。说那这样我就从简单到难的问你,由浅入深就知道你的水平了,面试官都很年轻,人都不错。&
1:说一下有哪些块元素和行元素,他们之间的区别是什么,怎么把行元素转化为块元素?
2:写一下css的盒子模型?写完给他讲了下,他没说话。我面试过程中,面试官一直在敲电脑,应该在记录面试情况。
3:css有哪些选择器,他们的优先级是什么样的?
4:用css3做没做过动画?写一下你知道的animate的效果,如果用其他方法做过会一步步深入问下去。(会在纸上写代码写的漂亮的很加分,平时不注意代码的话,这里徒手写代码会吃亏)
5:var str="abcdefg" ----》"fedcba" &写出对应的js程序。
6:ajax是什么,说一下你的理解。
7:状态码你了解多少,分别说一下代表什么意思。
8:http协议的工作方式,常见的三种请求方式有哪些,get和post的区别是什么?
9:如何绑定一个js事件?你平时都是咱们写的,把纸递给我让我写。
10:js继承有了解吗?说一下,我讲了讲prototype。听到旁边还有问js委托的。
11:一个ul列表,每一个li都有一个button,点击任意一个按钮,得出他是第几个li的按钮。
12:写一个快排算法。
13:用过哪些库?我说的jquery,bootstrap。用bootstrap做过什么,讲一下。
14:独立写过什么插件没?
15:用纯css写一个气泡框,我说用两个三角形可以实现,哪一个三角形怎么实现呢。
16:我中间提到nodejs,面试官会接着问用这个写过什么?
阅读(...) 评论()

我要回帖

更多关于 拼多多笔试题算法岗 的文章

 

随机推荐