백엔드 개발 PHP 튜토리얼 今天面试php遇到几个小问题不会,请大家帮小弟我看看

今天面试php遇到几个小问题不会,请大家帮小弟我看看

Jun 13, 2016 am 10:04 AM
cookie login mysql php session

今天面试php遇到几个问题不会,请大家帮我看看
1.网站服务器想判断某个用户在网上的行为记录以及下次该用户再次登陆的时候就能判断出是上次登陆的用户,这个是用cookie来判断好,还是用session好? 为什么? 还有一个问题,服务器如何判断某个行为是A用户的还是B用户的行为。(对cookie和session网上虽然有很多解释,但我一直没有100%搞明白这个问题,估计下次面试也会遇到,该怎么理解呢?)

2.某个账号登陆之后如何防止这个账号在其他地方再次登陆,就比如QQ的某个账号登陆了,但在其他地方想再用这个账号登陆,php是如何判断并且阻止的?

3.某个表里的数据起初很少,但是因为业务的关系,数据量猛增(几千万条或者更多),这时该怎么设计这个表,该如何优化?



------解决方案--------------------
1.cookie好。用Session挂在服务器上匹配数据。相当于查数据库了
2。可以在数据库里设置字段 is_login 登陆判断为1 未登陆为0 如果已经为1 再次登陆就判断已经登陆
3.只想到索引。这个是必须的

新手言论。勿喷
------解决方案--------------------
楼主问题目前没有统一答案。
1。大网站用cookie,安全性用session. 虽然session也可以设有效期,但对于有效期的问题,一般更喜欢用cookie.
服务器如何判断某个行为是A用户的还是B用户. 这个是身份识别。可以从cookie或session中取,或生成user对象。

2.这个无法解决。只能是设数据库标识。is_login 登陆判断为1 。 但问题在于,何时清除这个标识。---》高手解答。

3. 简单地就是索引,但索引也没有效率时。可以分表和分区。 具体的只有看你查询需求,测试后才知道。




------解决方案--------------------
1.cookie 最好的方式还是 cookie+session 至于区别之类的 你还是得仔细的看看一些教程,很多就不重复在这粘贴了。

2.使用memchace+mysql来解决,轻松easy...

3.很笼统....这个有很多情况发生 所以 我觉得还是要根据实际的情况来处理.

例如我们可以先观察 mysql-slow.log ...

数据量很多的时候第一个考虑的可能就是分表了...

------解决方案--------------------
面试啊....这么回答:

才几千万啊,我上个公司那里几亿都没当回事.....你们公司的DBA不行......
------解决方案--------------------

探讨

面试啊....这么回答:

才几千万啊,我上个公司那里几亿都没当回事.....你们公司的DBA不行......

------解决方案--------------------
探讨

1.cookie 最好的方式还是 cookie+session 至于区别之类的 你还是得仔细的看看一些教程,很多就不重复在这粘贴了。

2.使用memchace+mysql来解决,轻松easy...

3.很笼统....这个有很多情况发生 所以 我觉得还是要根据实际的情况来处理.

例如我们可以先观察 mysql-slow.log ...

数据量很多的时候第一个考虑的可能就是分……

------解决方案--------------------
应该是memcache过期时间设置来清除mysql中的is_login信息,再通过一些onbeforeunload之类的辅助吧。
------解决方案--------------------
探讨

应该是memcache过期时间设置来清除mysql中的is_login信息,再通过一些onbeforeunload之类的辅助吧。

------解决方案--------------------
【3.某个表里的数据起初很少,但是因为业务的关系,数据量猛增(几千万条或者更多),这时该怎么设计这个表,该如何优化?】

你就说有什么关系啊,就一张表,csdn 600万的纪录都在一张表里,被导出了
------解决方案--------------------
我也想知道第二个问题的答案,因为非人为正常点击退出(比如关闭浏览器、非正常关机)这种情况发生的时候,如果用is_login这种方式来判断的话,就会失效。如果是定期清除的话,也会有问题,就是出现非正常退出的时候由于没有及时处理is_login导致登陆不上
------解决方案--------------------
第二个问题和统计在线人数是同一个道理


------解决方案--------------------
第二個问题 可能更多的是用到 socket.io
做可能会更好一点.及时判断.
因为php不能很精确的确定是否在线.

还有一种方案就是php方案
设置这个在线用户多少分钟内没有做操作,我就判定他已经退出.(每次点击一个事件就是一次更新 online_time)
而且如果有后来者登录的话,你不是去阻止,而是让他登录上去,然后提示之前登录的账户 你的账户在其他地方登录了.

第一个问题呢:个人建议还是偏向session 比较安全.

第三个问题就是:如果应许的话重新设计表...或许这是更好的方法.
如果不行的话.最好是看具体情况...不过考你应该是优化和分表.


------解决方案--------------------
关于第二个问题,是不是可以理解为单点登录呢?
------解决方案--------------------
探讨

第二個问题 可能更多的是用到 socket.io
做可能会更好一点.及时判断.
因为php不能很精确的确定是否在线.

还有一种方案就是php方案
设置这个在线用户多少分钟内没有做操作,我就判定他已经退出.(每次点击一个事件就是一次更新 online_time)
而且如果有后来者登录的话,你不是去阻止,而是让他登录上去,然后提示之前登录的账户 你的账户在其他地方登录了.
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

MySQL : 세계에서 가장 인기있는 데이터베이스 소개 MySQL : 세계에서 가장 인기있는 데이터베이스 소개 Apr 12, 2025 am 12:18 AM

MySQL은 오픈 소스 관계형 데이터베이스 관리 시스템으로, 주로 데이터를 신속하고 안정적으로 저장하고 검색하는 데 사용됩니다. 작업 원칙에는 클라이언트 요청, 쿼리 해상도, 쿼리 실행 및 반환 결과가 포함됩니다. 사용의 예로는 테이블 작성, 데이터 삽입 및 쿼리 및 조인 작업과 같은 고급 기능이 포함됩니다. 일반적인 오류에는 SQL 구문, 데이터 유형 및 권한이 포함되며 최적화 제안에는 인덱스 사용, 최적화 된 쿼리 및 테이블 분할이 포함됩니다.

PHP 및 Python : 두 가지 인기있는 프로그래밍 언어를 비교합니다 PHP 및 Python : 두 가지 인기있는 프로그래밍 언어를 비교합니다 Apr 14, 2025 am 12:13 AM

PHP와 Python은 각각 고유 한 장점이 있으며 프로젝트 요구 사항에 따라 선택합니다. 1.PHP는 웹 개발, 특히 웹 사이트의 빠른 개발 및 유지 보수에 적합합니다. 2. Python은 간결한 구문을 가진 데이터 과학, 기계 학습 및 인공 지능에 적합하며 초보자에게 적합합니다.

PHP의 현재 상태 : 웹 개발 동향을 살펴보십시오 PHP의 현재 상태 : 웹 개발 동향을 살펴보십시오 Apr 13, 2025 am 12:20 AM

PHP는 현대 웹 개발, 특히 컨텐츠 관리 및 전자 상거래 플랫폼에서 중요합니다. 1) PHP는 Laravel 및 Symfony와 같은 풍부한 생태계와 강력한 프레임 워크 지원을 가지고 있습니다. 2) Opcache 및 Nginx를 통해 성능 최적화를 달성 할 수 있습니다. 3) PHP8.0은 성능을 향상시키기 위해 JIT 컴파일러를 소개합니다. 4) 클라우드 네이티브 애플리케이션은 Docker 및 Kubernetes를 통해 배포되어 유연성과 확장 성을 향상시킵니다.

MySQL을 사용하는 이유는 무엇입니까? 혜택과 장점 MySQL을 사용하는 이유는 무엇입니까? 혜택과 장점 Apr 12, 2025 am 12:17 AM

MySQL은 성능, 신뢰성, 사용 편의성 및 커뮤니티 지원을 위해 선택됩니다. 1.MYSQL은 효율적인 데이터 저장 및 검색 기능을 제공하여 여러 데이터 유형 및 고급 쿼리 작업을 지원합니다. 2. 고객-서버 아키텍처 및 다중 스토리지 엔진을 채택하여 트랜잭션 및 쿼리 최적화를 지원합니다. 3. 사용하기 쉽고 다양한 운영 체제 및 프로그래밍 언어를 지원합니다. 4. 강력한 지역 사회 지원을 받고 풍부한 자원과 솔루션을 제공합니다.

PHP : 많은 웹 사이트의 기초 PHP : 많은 웹 사이트의 기초 Apr 13, 2025 am 12:07 AM

PHP가 많은 웹 사이트에서 선호되는 기술 스택 인 이유에는 사용 편의성, 강력한 커뮤니티 지원 및 광범위한 사용이 포함됩니다. 1) 배우고 사용하기 쉽고 초보자에게 적합합니다. 2) 거대한 개발자 커뮤니티와 풍부한 자원이 있습니다. 3) WordPress, Drupal 및 기타 플랫폼에서 널리 사용됩니다. 4) 웹 서버와 밀접하게 통합하여 개발 배포를 단순화합니다.

MySQL의 장소 : 데이터베이스 및 프로그래밍 MySQL의 장소 : 데이터베이스 및 프로그래밍 Apr 13, 2025 am 12:18 AM

데이터베이스 및 프로그래밍에서 MySQL의 위치는 매우 중요합니다. 다양한 응용 프로그램 시나리오에서 널리 사용되는 오픈 소스 관계형 데이터베이스 관리 시스템입니다. 1) MySQL은 웹, 모바일 및 엔터프라이즈 레벨 시스템을 지원하는 효율적인 데이터 저장, 조직 및 검색 기능을 제공합니다. 2) 클라이언트 서버 아키텍처를 사용하고 여러 스토리지 엔진 및 인덱스 최적화를 지원합니다. 3) 기본 사용에는 테이블 작성 및 데이터 삽입이 포함되며 고급 사용에는 다중 테이블 조인 및 복잡한 쿼리가 포함됩니다. 4) SQL 구문 오류 및 성능 문제와 같은 자주 묻는 질문은 설명 명령 및 느린 쿼리 로그를 통해 디버깅 할 수 있습니다. 5) 성능 최적화 방법에는 인덱스의 합리적인 사용, 최적화 된 쿼리 및 캐시 사용이 포함됩니다. 모범 사례에는 거래 사용 및 준비된 체계가 포함됩니다

PHP : 웹 개발의 핵심 언어 PHP : 웹 개발의 핵심 언어 Apr 13, 2025 am 12:08 AM

PHP는 서버 측에서 널리 사용되는 스크립팅 언어이며 특히 웹 개발에 적합합니다. 1.PHP는 HTML을 포함하고 HTTP 요청 및 응답을 처리 할 수 ​​있으며 다양한 데이터베이스를 지원할 수 있습니다. 2.PHP는 강력한 커뮤니티 지원 및 오픈 소스 리소스를 통해 동적 웹 컨텐츠, 프로세스 양식 데이터, 액세스 데이터베이스 등을 생성하는 데 사용됩니다. 3. PHP는 해석 된 언어이며, 실행 프로세스에는 어휘 분석, 문법 분석, 편집 및 실행이 포함됩니다. 4. PHP는 사용자 등록 시스템과 같은 고급 응용 프로그램을 위해 MySQL과 결합 할 수 있습니다. 5. PHP를 디버깅 할 때 error_reporting () 및 var_dump ()와 같은 함수를 사용할 수 있습니다. 6. 캐싱 메커니즘을 사용하여 PHP 코드를 최적화하고 데이터베이스 쿼리를 최적화하며 내장 기능을 사용하십시오. 7

PHP vs. Python : 핵심 기능 및 기능 PHP vs. Python : 핵심 기능 및 기능 Apr 13, 2025 am 12:16 AM

PHP와 Python은 각각 고유 한 장점이 있으며 다양한 시나리오에 적합합니다. 1.PHP는 웹 개발에 적합하며 내장 웹 서버 및 풍부한 기능 라이브러리를 제공합니다. 2. Python은 간결한 구문과 강력한 표준 라이브러리가있는 데이터 과학 및 기계 학습에 적합합니다. 선택할 때 프로젝트 요구 사항에 따라 결정해야합니다.

See all articles