❶ 前端面试常见问题——Web篇
1、IE浏览器内核:Trident内核,也是俗称的IE内核;
2、Chrome浏览器内核:统称为Chromium内核或Chrome内核,以前是Webkit内核,现在是Blink内核;
3、Firefox浏览器内核:Gecko内核,俗称Firefox内核;
4、Safari浏览器内核:Webkit内核;
5、Opera浏览器内核:最初是自己的Presto内核,后来是Webkit,现在是Blink内核;
6、360浏览器、猎豹浏览器内核:IE+Chrome双内核;
7、搜狗、遨游、QQ浏览器内核: Trident(兼容模式)+Webkit(高速模式)﹔
8、网络浏览器、世界之窗内核:IE内核;
9、2345浏览器内核:以前是IE内核,现在也是IE+Chrome双内核;
把不同路由对应的不同内容掌握在前端,如vue中的vue-router、react的ReactRouter等。出现在单页面应用中,页面中公共部分不变,只改变部分内容的使用。路由切换时根据不同的路由动态加载不同的组件,不刷新页面。
优点 :实现前后端的分离,缓解服务器压力,不需要每次从服务器获取,快速展现给用户,用户体验更好。
见于多页面应用中。每次都向后台服务器发出请求,服务器响应请求,在后台拼接html文件传给前端显示, 返回不同的页面,浏览器会刷新页面。
❷ Java Web的一些面试问题求解答
1、一般封闭到框架中,自动提交false——调用action(数据库操作)——提交事务—关闭connection
2、重载:方法名相同,参数(个数或类型)不同(称之为签名不同)
3、要看代码,经验多的人写的代码逻辑性强,bug会比较少,速度快,考虑得比较周全
4、页面就jsp动态页面,一般由美工做好,需运态的地方从后台获取数据,运态显示,运行的时候会先转为servlet实际为servlet+html
5、记录在日志,如果方法由上级调用,往上抛
6、Junit在一个方法中就可以运行,运行你写的代码,和有没数据库没关系
7、不用框架的话就注意sql注入问题,框架的话hibernate要注意级联操作,ibatis注意假分页,一般做一个分页拦截器
8、测试的话要看要做哪些测试,还要看功能,写测试报告的话下个模版比较快两天
9、各种各样的问题,与需求不符,逻辑性错误,用户体验度方面的……
10、小了一个小组一周,中等的,一个小组三四个月,大的一个小组做一年多
11、做下一个项目,项目维护,部署方面一般由组长及领导负责
12、后台将信息反回前台,前台接收判断,提示错误信息
13、弄断点一般是为了找错,根据代码打,你想在哪一步暂停,查看,就在哪一步打,一般手动
14、异常要么try catch要么就往上抛
15、没写过
16、很少很eclipse,用myeclipse 5.5
17、用get方法
18、ssi是struts,spring,ibatis框架,C:controller/action ;M:实体类User;V:struts中xml映射的jsp页面
19、取出来equals比较下
20、如果是像new int[10]的话就有10个元素否则用A.length来看
21、不知道
22、用来记录日志,一般每天一个日志
23、编码?一般utf-8/gbk在eclipse设置整个项目格式
24、hibernate映射文件可以反转自动生成.hbm.xml文件,和spring整合的话.cfg.xml就不需要了配置在spring的配置文件里:
<bean id="mydataSource" class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName" value="com.mysql.jdbc.Driver"></property>
<property name="url" value="jdbc:mysql://localhost:3306/zhang?useUnicode=true&characterEncoding=utf8" />
<property name="username" value="root"></property>
<property name="password" value="123456"></property>
</bean>
<bean id="mysessionFactory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource" ref="mydataSource"></property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>
<prop key="hibernate.show_sql">true</prop>
<prop key="hibernate.format_sql">true</prop>
<!-- 开启二级缓存 -->
<prop key="jobernate.cache.use_second_level_cache">true</prop>
<prop key="hibernate.cache.provider_class">
net.sf.ehcache.hibernate.EhCacheProvider
</prop>
<prop key="hibernate.cache.use_query_cache">true</prop>
</props>
</property>
<property name="mappingResources">
<list>
<value>com/entity/User.hbm.xml</value>
<value>com/entity/Proct.hbm.xml</value>
<value>com/entity/Item.hbm.xml</value>
<value>com/entity/Category.hbm.xml</value>
<value>com/entity/Address.hbm.xml</value>
<value>com/entity/Order.hbm.xml</value>
</list>
</property>
</bean>
25、依情况而定
26、比如学生表t_stu和得分表t_score,t_score中的stuid对应t_stu中的主键id,那么stuid就是t_stu的外键,主键与外键关系为1对1或者1对多
27、#表示传进来的传数为一个字符串(如果字符串已有引号则不再加引号,如果没有引号则加上引号,为了防止sql注入),$表示按传入进来的字符串,不再进行判断
28、spring+hibernate中事物配置:
<!-- 定义事务管理 -->
<bean id="txtManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory" ref="mysessionFactory"></property>
</bean>
<!-- 定义一个通知,管理规则 -->
<tx:advice id="txtAdvice" transaction-manager="txtManager">
<tx:attributes>
<tx:method name="delete*" propagation="REQUIRED"/>
<tx:method name="save*" propagation="REQUIRED"/>
<tx:method name="update*" propagation="REQUIRED"/>
<tx:method name="find*" propagation="NOT_SUPPORTED"/>
<tx:method name="get*" propagation="NOT_SUPPORTED"/>
</tx:attributes>
</tx:advice>
<aop:config>
<aop:pointcut expression="within(com.tarena.dang..impl.*)" id="servicePointcut"/>
<!-- 将txtAdvice和切入点相结合 -->
<aop:advisor advice-ref="txtAdvice" pointcut-ref="servicePointcut"/>
</aop:config>
sprint+mybatis配置:
<!-- 事务 -->
<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource" />
</bean>
<!-- 配置事务的传播特性 -->
<bean id="baseTransactionProxy" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean" abstract="true">
<property name="transactionManager" ref="transactionManager" />
<property name="transactionAttributes">
<props>
<prop key="add*">PROPAGATION_REQUIRED</prop>
<prop key="edit*">PROPAGATION_REQUIRED</prop>
<prop key="remove*">PROPAGATION_REQUIRED</prop>
<prop key="insert*">PROPAGATION_REQUIRED</prop>
<prop key="update*">PROPAGATION_REQUIRED</prop>
<prop key="del*">PROPAGATION_REQUIRED</prop>
<prop key="cancel*">PROPAGATION_REQUIRED</prop>
<prop key="*">readOnly</prop>
</props>
</property>
</bean>
29、用框架一般不会有sql注入,框架都有考虑到的,jdbc的话用PreparedStatement
❸ hr如何面试web前端工程师,该问哪些技术问题
一、基本知识
我们生活在互联网时代,你想知道的任何事情几乎都能在15分钟内找到相关信息。可是,能找到信息并不等于你会使用它。我认为所有前端工程师至少都应 该掌握某些基本的知识,才能有效地完成自己的工作。如果一遇到问题,就停下工作上网四处搜索解决方案,怎么可能保证按期完成工作呢?听听,还有谁在说“我 不知道,但我可以上网搜到。”请这些同学把手举起来,让大家认识一下(immediately raises a flag for me.)。下面我列出一些基本的知识点,这些都是我认为一名前端工程师(无论工作年头长短)在没有任何外来帮助的情况应该知道的。
[list][*]
DOM结构——两个节点之间可能存在哪些关系以及如何在节点之间任意移动。
[*]
DOM操作——怎样添加、移除、移动、复制、创建和查找节点。
[*]
事件——怎样使用事件以及IE和DOM事件模型之间存在哪些主要差别。
[*]
XMLHttpRequest——这是什么、怎样完整地执行一次GET请求、怎样检测错误。
[*]
严格模式与混杂模式——如何触发这两种模式,区分它们有何意义。
[*]
盒模型——外边距、内边距和边框之间的关系,IE 8以下版本的浏览器中的盒模型有什么不同。
[*]
块级元素与行内元素——怎么用CSS控制它们、它们怎样影响周围的元素以及你觉得应该如何定义它们的样式。
[*]
浮动元素——怎么使用它们、它们有什么问题以及怎么解决这些问题。
[*]
HTML与XHTML——二者有什么区别,你觉得应该使用哪一个并说出理由。
[*]
JSON——它是什么、为什么应该使用它、到底该怎么使用它,说出实现细节来。
[/list]
重申一下,上述这些知识点都应该是你应该“想都不用想”的东西。我一开始问的所有问题都是想摸清你对所有这些领域知识的掌握程度。虽然上面列出的这些知识点并没有面面俱到,但我觉得你至少应该掌握这些,才有可能跟我坐到一间办公室里来。
二、少量提问
我非常赞同面试者问的问题越少越好。反复问应聘者各种问题既不公平,也很无聊。我在任何一次面试中,通常只问三个大问题,但每个问题又会涉及我所能想到的多个方面。回答每个大问题一般要经过几个步骤,这样我就可以在每个步骤中穿插着问一些小问题。比如说:
现在有一个正显示着Yahoo!股票价格的页面。页面上有一个按钮,你可以单击它来刷新价格,但不会重新加载页面。请你描述一下实现这个功能的过程,假设服务器会负责准备好正确的股票价格数据。
这个问题牵扯到一组我想要考察的基本知识点:DOM结构、DOM操作、事件处理、XHR和JSON。如果我要求你对换一种处理股票价格的方式,或者 让你在页面中显示其他信息,就可以把更多的知识点包括进来。对于经验比较丰富应聘者,我也可以自如地扩展要考察的知识范围,最简单像JOSN与XML的区 别、安全问题、容量问题,等等。
我还希望应聘者给出的任何解决方案中都不要使用库。我想看到最原生态的代码,你就当页面中没有包含任何库。你说你对哪个库了解多少多少,但我不能把 关于库的知识作为评判能力的因素,因为库是会随时间变化的。我需要的是真正理解库背后的机制,特别是能够徒手写出一个自己的库的人。
三、解决问题
做为一名前端工程师,最值得高兴的事莫过于解决同一个问题会有很多种不同的方法,而你要做的就是找出最合适的方法来。我在提问的时候,经常会在应聘 者解释完一种方法后问他们还有没有第二种方法。此时我会跟他们说,假设你的这个方法由于种种原因被否决了,那么你还能不能给出另一种方法。这样做可以达到 两个目的。
首先,可以测试出他们是否在毫无意义地复述书本中的东西。不能不承认,某些人确实有过目不忘的天赋,听他们在那里滔滔不绝地讲,你会觉得他们什么都 明白。可是,只要一跟这些人谈到怎么查找方案无效的原因,以及能否拿出一个新方案来,他们往往就傻眼了。这时候,如果我听到“我不明白这个方案为什么不够 好”之类的反问,心里立刻就明白我的问题已经超出了他们的能力范围,而他们只是想拿自己死记硬背的结论来蒙混过关。
其次,可以测试出他们已经掌握的(还是那句话,“想都不用想”)浏览器技术知识。如果他们对浏览器平台的核心知识有较好的理解,想出解决同一问题的不同方案根本没有那么难。
对一名前端工程师来说,这绝对是最重要的能力。前端工程师在工作中遇到本该如此却并未如此的难题(说你啦,IE6),应该说是一件很平常的事。一个方案无效就无计可施的人,做不了前端工程师。
考核应聘者解决问题能力的另一层原因,与我的个人喜好有关。在搞清楚应聘者知道什么不知道什么之后,我就会想着问一个他们知识领域之外的问题。这样 做的目的,就是想看看他们怎样运用已有的知识解决新问题。在解决问题的每一步,我也准备了一些提示,以防有人会卡壳打艮(在我面前15分钟一言不发,对我 评价这个人毫无帮助)。我真正感兴趣的,是他们能够从上一步前进到下一步。我希望看到一个人就在我眼前学到新知识。
注意:所有问题都与浏览器技术相关。我不相信出几道抽象的逻辑题,就能够考出某人解决Web技术问题的能力。在我看来,这无异于让素描大师画肖像(或者让刘翔跟博尔特同场竞技),没有意义,也得不到任何有价值的信息。
❹ 面试Web前端需要注意什么会面试哪些问题
作为一名HTML5前端工程师,为了工作,为了就业我们免不了要参加各种各样的面试。为此总结了面试前的注意事项:
第一:注意自己的仪容仪表
面试之前,一定要再次从头到脚地将自己的仪容仪表检查一遍。检查时主要包括,自己的牙缝是不是还有食物残渣,所以你需要就近找一个卫生间,如果没有卫生间就近找一个角落也是可以的,但是切记一定不要在大庭广众之下。因此,为了给自己整理出着装的时间请在约定时间前20分钟到达。
第二:再次检查面试时所需的资料是否都已带全
这些资料主要包括:身份证明、学历文凭证明、个人简历、以往作品等等,如果这些东西齐全之后,需要对这些资料做一个整理与排序。因为没有哪个面试官希望看到面试者拿出一堆“莫名其妙”的东西塞给他,让他自己再一页一页的翻找自己需要的内容,如果说这些资料在面试官手中不小心散落一地,结果可想而知。这样的求职者在面试官眼中也一定不是一个让人放心、有条不紊的员工。当然如果检查时发现资料没有带全,也不要紧张。反而你要庆幸幸亏及时检查,也有足够的时间组织语言去向面试官解释。
第三:面试之前将通信工具调成振动或关闭状态
虽然说面试者与面试官之间是一个平等的关系,但毕竟你是去人家公司求职的,始终处于一个被动的状态,所以最起码的尊重还是要做到的。曾经有调查显示,对于面试过程中接电话或是被电话打断的求职者,会被HR减分。
第四:等候面试官时,仔细观察多了解面试公司
在等候面试官时,可以暗自观察一下公司的大体情况比如员工的着装风格、公司的LOGO或是贴在墙上的企业文化、公司的环境等等,一来可以在接下来的面试过程中表现出自己对公司的认同感,二来也可以让自己对求职公司多些了解,以确定是否要接受这里的工作。如果你身边有公司的资料宣传架,不妨取一本翻看一下,也会增加HR对你的好感。
第五:放松心情,保持自信
面试时一定要保持一定的自信,这样也会给面试官留下很好的印象。面试只是你步入工作的第一步,即便是失败了那也是人生重要的经历。失败是为了更好的迎接下一个挑战。
作为一名web前端工程师千万不要觉得懂技术面试就能万事大吉了,像以上五点细节性的东西也是一定要掌握的。
面试题系列:
网页链接
❺ 面试web前端的工作,会被问到什么问题
在实际的面试中,你可能需要使用 JavaScript、CSS 和 HTML 来编写代码。在你的面试期间,你可能需要实现 UI、构建窗口小部件或使用 Lodash 和 Underscore.js 这样的库编写常用的实用程序函数。例如:构建常见的 Web 应用程序的布局和交互,例如类似 Netflix 网站那样的。实现小部件,如日期选择器、轮播或电子商务网站购物车。写一个类似 debounce 或深度 clone 对象的函数。
❻ web前端 面试必问的几个问题有那些
根据面试官的不同,面试的内容页不一样的。一般的话就是html+css布局占一部分,例如各浏览器的兼容性,然后就是js的ajax,闭包,冒泡什么的,js会占很大一部分,也有一部分面试官会抛开这些,直接问公司需要的内容,这样的话就是考验你的实际操作了,这类的面试官我很喜欢,就是直接问布局,数据填充之类的,能学到很多东西,建议面试时偷偷用手机录音,回来之后听一听,研究一下自己不会的问题,因为面试完之后,你可能就会忘了面试时都问过什么了
❼ 假如让你进行Web前端的电话面试,你会问什么问题
如果我作为Web前端电话面试的面试官,那么我就要进行多方面的考量,不仅考量这个人的专业能力,也要考量这个人的综合素质等。
第一个问题:自我介绍
这是面试中最常见的第一个问题,并且自我介绍十分重要,因为这短短的介绍将会在面试官的脑海里形成第一印象,也可能会成为被面试者的刻板印象。
第四个问题:唠家常
前面的正题部分完成后,一般面试官不会很快结束对话,还会问面试者一些家常问题,比如“你是哪里人?”、“你是怎么学习的前端技术?”、“现在有没有女朋友/男朋友?”这些家常问题能让面试官快速的掌握到你在简历之外的东西,是否是本地人、打算何时结婚,都可能成为你能否稳定的完成这份工作的考量。
❽ 新手学习Web前端技术常见的问题和误区有哪些
今天小编要跟大家分享的文章是关于新手学习web前端技术常见的问题和误区有哪些?web前端技术越来受到大家的欢迎,很多转行的小伙伴们都会选择学习web前端。那么在web前端的学习中大家都会遇到哪些问题呢?下面就来和小编一起看一看吧!
1.
无脑盲目的刷视频去看,但是很少去练习。正常的状态应该是在整个学习的过程中,四分之三的时间都是在练习。视频只是让你了解学习什么内容,看一遍就行了。有很多人都是无脑的刷视频看,最后浪费几个月的时间,也找不到工作。
2.小白开始学习的时候,看书是一种非常严重的误区。所以新手禁忌看书学习编程。至于原因是什么,在这里我不做太多解释。
3.很多人都是遇到一个问题,就是能看懂代码,但是不会写,这是比较常见的问题。
4.还有一个最现实的问题,就是学了后面的忘了前面,这是由于学习方法和方式存在这很大的错误。
5.整个学习流程混乱,没有系统的安排,学的不系统不专业,技术掌握的不好,浪费几个月甚至半年的时间。
6.缺乏和专业人士交流的过程,作为一个小白,在初期学习的时候,所学的最多的东西一定是从别人那里学到的,闭门造车。
如果想要做一个拿到高薪的前端,有一个详细的学习路线,大家才能更好的展开学习。
以上就是小编今天为大家分享的关于新手学习web前端技术常见的问题和误区有哪些的文章,希望本篇文章能够对正在学习web前端知识的小伙伴们有所帮助,想要了解更多web前端知识记得关注北大青鸟web培训官网,最后祝愿小伙伴们学习成功,工作顺利。
原创曲墨每天学编程
❾ web前端开发常遇到的问题有哪些
前端和后端没有可比性
前端的开发,如果没有总体的设计思路,会成为一种碎片似地程序,一个效果一坨代码,一个功能一滩脚本,一个需求片逻辑,我曾经遇到过,因为ue调整,把整个前端的代码除了核心数据处理函数保留,其余的全部修改的情况。基本上前端的开发,处于dom操作,数据处理,数据交互三部分,如果合理的分配这三部分的功能,那么前端的代码就很容易扩展和调整。可惜现在优秀的前端开发者很少,因为前端门槛很低。
那么接下来我回答挑战所在:真正的前端开发的挑战,还在于开发者的思路,兼容性,布局,css js都不是问题,问题在于如何合理的组织语言逻辑,如果正确抽象出需求中的模块,在如何用代码处理。清楚的用代码表达出思路,清楚的写好注释,给后续维护者一个可阅读的思路。
前端的改动量,是后端的数倍,前端没有绝对,只有跟随需求不停的修改。
❿ web网页常见问题
想要和这个效果几乎一样的,就用Jquery,网上可以直接搜到这样效果的代码,属于banner切换效果、或热点切换效果
想要自己写就用js写,当然,效果可能不会一样。
原理是:如三块内容就写三块DIV,点击左右按钮就是切换显示对应的DIV,至于是否对应,要用JS去获取并判断当前DIV是第几个,这一组的DIV可用类似 qiehuan1、qiehuan2、qiehuan3这样的方式给每个DIV命名(即定义ID),这样JS处理的时候容易点。