前端面试的总结

简历:

对于简历,可能因为自己没有什么正儿八经的前端的项目经验,简历倒是没有怎么深挖,问题问的很少。简历问到管理系统的项目是不是企业型的,很坦诚的回答不是,主要回答的就是项目主要使用table表格+切图实现布局。


笔试问题:

本以为会是一些基础的关于前端的题目,然而并不是。笔试是四道大题,使用编程实现,给了一个小时的时间。

1.关于蛇形矩阵的查找问题:

eg:1    2    3     4                 写一个函数,输入行与列,输出相应的蛇形矩阵的元素。例如 matri(1,3)=2,matri(2,0)=9;

         10  11  12    5

          9     8     7     6

这个问题可能自己没有理解到要考的点,想要查找蛇形矩阵,存储是关键,但是蛇形矩阵的存储规则并没有说清楚,比如上述的12个元素的蛇形矩阵3行4列,与4行3列都可以是一个蛇形矩阵。为此总结蛇形矩阵的相关部分。

2.题目现有1000元红包,按概率分红包,分到0元的概率50%,分到1元的概率30%,分到3元的概率20%,写一个函数返回红包的金额数,题目中提供了一个返回0-100之间的随机数的函数。

题目比较简单,因为返回0~100的每个数的概率是相同的,将这些数进行概率划分,即如果返回数字在0~50之间,那么红包的金额就是0元,以此类推。


3.单链表的转置问题

4.模态页面的问题。这个一脸懵逼,不过这个对于前端应该是一个蛮重要的问题,需要总结。

(1)模态窗口
打开模态窗口后,只要不关闭该窗口,鼠标焦点或者光标就会一直停留在该窗口上。只有关闭该窗口后,调用窗口才能继续。模态窗口关闭后,仍可以读取模态窗口中的信息,如窗口的返回状态等。
(2)非模态窗口
打开非模态窗口后,仍可以操作调用窗口。关闭非模态窗口,该窗口将不复存在,会释放窗口的所有资源,所以无法得到该窗口的任何信息。

以下是javascript实现的模态窗口,效果图如下:


代码如下;

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
  <title>test</title>
  <script src="http://libs.baidu.com/jquery/2.0.0/jquery.js"></script>
  <style type="text/css">
     
  .pop-box { 
    /*弹出窗口后,弹出的DIV采用此CSS,保证置于最上层
     z-index控制Z轴的坐标,数值越大,离用户越近*/ 
    z-index: 9999999; /*这个数值要足够大,才能够显示在最上层*/ 
    margin-bottom: 3px; 
    display: none; 
    position: absolute; 
    background: gray; 
    border: solid1px #6e8bde; 
  } 
    
  #bg { 
    width: 100%; 
    height: 100%; 
    position: absolute; 
    top: 0; 
    left: 0; 
    /*弹出窗口后,添加遮罩层,采用此CSS,将该层置于弹出DIV和页面层之间
     z-index控制Z轴的坐标,数值越大,离用户越近 rgba(72, 74, 68, 0.46)
    */ 
    z-index: 1001;  
    background-color:#8f9f8f;
    -moz-opacity: 0.7; 
    opacity: .70; 
    filter: alpha(opacity = 70); 
  } 
      
  </style>
   
  <script type="text/javascript">
 
  function popupDiv(div_id) { 
    // 获取传入的DIV 
    var $div_obj = $("#" + div_id); 
    // 计算机屏幕高度 
    var windowWidth = $(window).width(); 
    // 计算机屏幕长度 
    var windowHeight = $(window).height(); 
    // 取得传入DIV的高度 
    var popupHeight = $div_obj.height(); 
    // 取得传入DIV的长度 
    var popupWidth = $div_obj.width(); 
     
    // // 添加并显示遮罩层 
    $("<div id='bg'></div>").width(windowWidth * 0.99) 
        .height(windowHeight * 0.99).click(
		function() { 
         // hideDiv(div_id); 
        }).appendTo("body").fadeIn(200); 
		//显示弹出层div 
      $div_obj.css({ 
      "position" : "absloute" 
    }).animate({ 
      left : windowWidth / 2 - popupWidth / 2, 
      top : windowHeight / 2 - popupHeight / 2, 
      opacity : "show" 
    }, "slow"); 
     
  } 
  /*隐藏弹出DIV*/ 
  function hideDiv(div_id) {
    $("#bg").remove(); 
    $("#" + div_id).animate({ 
      left : 0, 
      top : 0, 
      opacity : "hide" 
    }, "slow"); 
  } 
  </script>
   
</head>
<body> 
 
 <div id='pop-div' style="width: 300px;height:500px;" class="pop-box">
 <h4 class="pop-boxh4">我是弹出层</h4>
 <div class="pop-box-body">
  <p>我的下面有遮罩层我的下面有遮罩层我的下面有遮罩层我的下面有遮罩层我的下面有遮罩层</p>
 </div>
 <div id='buttonPanel' style="text-align: right">
  <input type="button" value="关闭模态页面" id="btn1"
  onclick="hideDiv('pop-div');" />
 </div>
 </div>
  
 <input type="button" value="确定" onclick="popupDiv('pop-div')" style="cursor: pointer;">
 <div>请输入相关的内容</div>
 <input type="text"></input>
</body>
</html>



面试问题:

1.js的闭包问题

2.浏览器服务器工作的整个流程

3.请求头 响应头

4.代码的管理工具 svn 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值